SkDraw3D.h revision 986ca61cf7be3ec590f8820e9b7ba042ac2948fe
1 2/* 3 * Copyright 2006 The Android Open Source Project 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10#ifndef SkDraw3D_DEFINED 11#define SkDraw3D_DEFINED 12 13#include "SkCamera.h" 14#include "SkADrawable.h" 15#include "SkMemberInfo.h" 16 17class Sk3D_Patch; 18 19struct Sk3D_Point { 20 DECLARE_NO_VIRTUALS_MEMBER_INFO(3D_Point); 21 Sk3D_Point(); 22private: 23 SkPoint3D fPoint; 24}; 25 26class Sk3D_Camera : public SkADrawable { 27 DECLARE_MEMBER_INFO(3D_Camera); 28 Sk3D_Camera(); 29 virtual ~Sk3D_Camera(); 30 virtual bool draw(SkAnimateMaker& ); 31private: 32 SkScalar hackWidth; 33 SkScalar hackHeight; 34 SkCamera3D fCamera; 35 Sk3D_Patch* patch; 36}; 37 38class Sk3D_Patch : public SkDisplayable { 39 DECLARE_MEMBER_INFO(3D_Patch); 40private: 41 virtual void executeFunction(SkDisplayable* , int index, 42 SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type, 43 SkScriptValue* ); 44 virtual const SkFunctionParamType* getFunctionsParameters(); 45 SkPatch3D fPatch; 46 static const SkFunctionParamType fFunctionParameters[]; 47 friend class Sk3D_Camera; 48}; 49 50#endif // SkDraw3D_DEFINED 51