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