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