blob: dcd3905034584837b1425f833fd3e98bfcf21d4c [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
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
reed@android.com8a1c16f2008-12-17 15:59:43 +00009
10#ifndef SkExtras_DEFINED
11#define SkExtras_DEFINED
12
13#include "SkScript.h"
14
15class SkExtras {
16public:
17 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