diff options
Diffstat (limited to 'experimental/SkV8Example/Global.h')
-rw-r--r-- | experimental/SkV8Example/Global.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/experimental/SkV8Example/Global.h b/experimental/SkV8Example/Global.h deleted file mode 100644 index a50f24442a..0000000000 --- a/experimental/SkV8Example/Global.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2013 Google Inc. - * - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - * - */ - -#ifndef SkV8Example_Global_DEFINED -#define SkV8Example_Global_DEFINED - -#include <map> - -#include <v8.h> - - -#include "SkTypes.h" -#include "SkEvent.h" - -class SkOSWindow; - -typedef v8::Persistent<v8::Function, v8::CopyablePersistentTraits<v8::Function> > CopyablePersistentFn; - -// Provides the global isolate and context for our V8 instance. -// Also implements all the global level functions. -class Global : SkNoncopyable { -public: - Global(v8::Isolate* isolate) - : fIsolate(isolate) - , fWindow(NULL) - , fLastTimerID(0) - { - gGlobal = this; - this->initialize(); - } - virtual ~Global() {} - - // The script will be parsed into the context this Global contains. - bool parseScript(const char script[]); - - v8::Local<v8::Context> getContext() { - return v8::Local<v8::Context>::New(fIsolate, fContext); - } - - v8::Isolate* getIsolate() { - return fIsolate; - } - - void setWindow(SkOSWindow* win) { - fWindow = win; - } - SkOSWindow* getWindow() { - return fWindow; - } - - void reportException(v8::TryCatch* tryCatch); - -private: - void initialize(); - v8::Handle<v8::Context> createRootContext(); - int32_t getNextTimerID(); - - static bool TimeOutProc(const SkEvent& evt); - - // Static functions that implement the global JS functions we add to - // the context. - static void SetTimeout(const v8::FunctionCallbackInfo<v8::Value>& args); - static void Print(const v8::FunctionCallbackInfo<v8::Value>& args); - static void Inval(const v8::FunctionCallbackInfo<v8::Value>& args); - - v8::Persistent<v8::Context> fContext; - v8::Isolate* fIsolate; - SkOSWindow* fWindow; - static Global* gGlobal; - - // Handle to the functions to call when a timeout triggers as indexed by id. - std::map<int32_t, CopyablePersistentFn > fTimeouts; - - // Last timer ID generated. - int32_t fLastTimerID; -}; - -#endif |