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 13 extern "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 22 class SkString; 23 24 class SkJS : public SkOSWindow { 25 public: 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 33 protected: 34 void InitializeDisplayables(const SkBitmap& , JSContext *, JSObject *, JSObject *); 35 void DisposeDisplayables(); 36 JSRuntime *fRuntime; 37 JSContext *fContext; 38 JSObject *fGlobal; 39 }; 40 41