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#include "SkTypes.h"
11#include "SkWindow.h"
12
13extern "C" {
14    typedef long JSWord;
15    typedef JSWord jsword;
16    typedef jsword  jsval;
17    typedef struct JSRuntime JSRuntime;
18    typedef struct JSContext JSContext;
19    typedef struct JSObject JSObject;
20}
21
22class SkString;
23
24class SkJS : public SkOSWindow {
25public:
26    SkJS(void* hwnd);
27    ~SkJS();
28    SkBool EvaluateScript(const char* script, jsval* rVal);
29    SkBool ValueToString(jsval value, SkString* string);
30#ifdef SK_DEBUG
31    static void Test(void* hwnd);
32#endif
33protected:
34    void InitializeDisplayables(const SkBitmap& , JSContext *, JSObject *, JSObject *);
35    void DisposeDisplayables();
36    JSRuntime *fRuntime;
37    JSContext *fContext;
38    JSObject *fGlobal;
39};
40