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
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
35