| Index: runtime/embedders/openglui/common/vm_glue.h
|
| ===================================================================
|
| --- runtime/embedders/openglui/common/vm_glue.h (revision 0)
|
| +++ runtime/embedders/openglui/common/vm_glue.h (revision 0)
|
| @@ -0,0 +1,64 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +#ifndef EMBEDDERS_OPENGLUI_COMMON_VM_GLUE_H_
|
| +#define EMBEDDERS_OPENGLUI_COMMON_VM_GLUE_H_
|
| +
|
| +#include <stdlib.h>
|
| +
|
| +#include "embedders/openglui/common/events.h"
|
| +#include "embedders/openglui/common/isized.h"
|
| +#include "include/dart_api.h"
|
| +
|
| +class VMGlue {
|
| + public:
|
| + explicit VMGlue(ISized* surface,
|
| + const char* script_path,
|
| + const char* extension_script = NULL,
|
| + const char* main_script = NULL);
|
| + ~VMGlue() {
|
| + delete[] main_script_;
|
| + delete[] extension_script_;
|
| + }
|
| +
|
| + int InitializeVM();
|
| + int StartMainIsolate();
|
| + int CallSetup();
|
| + int CallUpdate();
|
| + int OnMotionEvent(const char* funtion, int64_t when,
|
| + float move_x, float move_y);
|
| + int OnKeyEvent(const char* funtion, int64_t when, int32_t flags,
|
| + int32_t key_code, int32_t meta_state, int32_t repeat);
|
| + void FinishMainIsolate();
|
| +
|
| + private:
|
| + int Invoke(const char *function, int argc, Dart_Handle* args,
|
| + bool failIfNotDefined = true);
|
| +
|
| + static int ErrorExit(const char* format, ...);
|
| + static Dart_Handle CheckError(Dart_Handle);
|
| +
|
| + static bool CreateIsolateAndSetupHelper(const char* script_uri,
|
| + const char* main,
|
| + void* data,
|
| + char** error);
|
| + static bool CreateIsolateAndSetup(const char* script_uri,
|
| + const char* main,
|
| + void* data, char** error);
|
| + static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag,
|
| + Dart_Handle library,
|
| + Dart_Handle urlHandle);
|
| + static Dart_Handle LoadSourceFromFile(const char* url);
|
| + static void ShutdownIsolate(void* callback_data);
|
| +
|
| + ISized* surface_;
|
| + Dart_Isolate isolate_;
|
| + bool initialized_vm_;
|
| + bool initialized_script_;
|
| + char* main_script_;
|
| + static char* extension_script_;
|
| +};
|
| +
|
| +#endif // EMBEDDERS_OPENGLUI_COMMON_VM_GLUE_H_
|
| +
|
|
|