00001 #pragma once 00002 00003 #include "CanvasContext.h" 00004 #include "CanvasLogger.h" 00005 00006 #include "v8.h" 00007 00008 class CanvasContextV8Bindings 00009 { 00010 public: 00011 CanvasContextV8Bindings(); 00012 void loadScript(const std::string& _filename, OgreCanvas::CanvasContext* _canvasContext, OgreCanvas::CanvasLogger* _console); 00013 void executeJS(const std::string& _js); 00014 void dispose(); 00015 static std::string readScript(const std::string& _filename); 00016 00017 static OgreCanvas::CanvasContext* context2D; 00018 static v8::Persistent<v8::Context> contextV8; 00019 static v8::Persistent<v8::FunctionTemplate> canvasGradientTemplate; 00020 static v8::Persistent<v8::FunctionTemplate> canvasPatternTemplate; 00021 static v8::Persistent<v8::FunctionTemplate> imageTemplate; 00022 static v8::Persistent<v8::FunctionTemplate> consoleTemplate; 00023 };