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 SkExtras_DEFINED 11 #define SkExtras_DEFINED 12 13 #include "SkScript.h" 14 15 class SkExtras { 16 public: 17 SkExtras(); ~SkExtras()18 virtual ~SkExtras() {} 19 20 virtual SkDisplayable* createInstance(SkDisplayTypes type) = 0; 21 virtual bool definesType(SkDisplayTypes type) = 0; 22 #if SK_USE_CONDENSED_INFO == 0 23 virtual const SkMemberInfo* getMembers(SkDisplayTypes type, int* infoCountPtr) = 0; 24 #endif 25 #ifdef SK_DEBUG 26 virtual const char* getName(SkDisplayTypes type) = 0; 27 #endif 28 virtual SkDisplayTypes getType(const char match[], size_t len ) = 0; 29 30 SkScriptEngine::_propertyCallBack fExtraCallBack; 31 void* fExtraStorage; 32 }; 33 34 #endif // SkExtras_DEFINED 35