|  | 
 | /* | 
 |  * Copyright 2006 The Android Open Source Project | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 |  | 
 | #ifndef SkDraw3D_DEFINED | 
 | #define SkDraw3D_DEFINED | 
 |  | 
 | #include "SkCamera.h" | 
 | #include "SkDrawable.h" | 
 | #include "SkMemberInfo.h" | 
 |  | 
 | class Sk3D_Patch; | 
 |  | 
 | struct Sk3D_Point { | 
 |     DECLARE_NO_VIRTUALS_MEMBER_INFO(3D_Point); | 
 |     Sk3D_Point(); | 
 | private: | 
 |     SkPoint3D fPoint; | 
 | }; | 
 |  | 
 | class Sk3D_Camera : public SkDrawable { | 
 |     DECLARE_MEMBER_INFO(3D_Camera); | 
 |     Sk3D_Camera(); | 
 |     virtual ~Sk3D_Camera(); | 
 |     virtual bool draw(SkAnimateMaker& ); | 
 | private: | 
 |     SkScalar hackWidth; | 
 |     SkScalar hackHeight; | 
 |     SkCamera3D fCamera; | 
 |     Sk3D_Patch* patch; | 
 | }; | 
 |  | 
 | class Sk3D_Patch : public SkDisplayable { | 
 |     DECLARE_MEMBER_INFO(3D_Patch); | 
 | private: | 
 |     virtual void executeFunction(SkDisplayable* , int index, | 
 |         SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type, | 
 |         SkScriptValue* ); | 
 |     virtual const SkFunctionParamType* getFunctionsParameters(); | 
 |     SkPatch3D  fPatch; | 
 |     static const SkFunctionParamType fFunctionParameters[]; | 
 |     friend class Sk3D_Camera; | 
 | }; | 
 |  | 
 | #endif // SkDraw3D_DEFINED |