Index: samples/android_sample/jni/vm_glue.h |
=================================================================== |
--- samples/android_sample/jni/vm_glue.h (revision 0) |
+++ samples/android_sample/jni/vm_glue.h (revision 0) |
@@ -0,0 +1,47 @@ |
+#ifndef VM_GLUE_H |
+#define VM_GLUE_H |
+ |
+#include <android_native_app_glue.h> |
+#include "include/dart_api.h" |
+#include "bin/dartutils.h" |
+//#include "timer.h" |
+#include "graphics.h" |
+//#include "context.h" |
+ |
+class VMGlue { |
+ public: |
+ VMGlue(Graphics* pGraphics); |
+ |
+ int initializeVM(); |
+ int startMainIsolate(); |
+ int callSetup(); |
+ int callUpdate(); |
+ int onMotionEvent(const char* function, int64_t when, |
+ float lMoveX, float lMoveY); |
+ int onKeyEvent(const char* pFunction, int64_t pWhen, int32_t pFlags, |
+ int32_t pKeyCode, int32_t pMetaState, int32_t pRepeat); |
+ void finishMainIsolate(); |
+ |
+ private: |
+ int invoke(const char *function, int argc, Dart_Handle* args); |
+ |
+ static int ErrorExit(const char* format, ...); |
+ static Dart_Handle SetupRuntimeOptions(CommandLineOptions* options, |
+ const char* executable_name, |
+ const char* script_name); |
+ 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 void ShutdownIsolate(void* callback_data); |
+ |
+ Graphics *mGraphics; |
+ Dart_Isolate mIsolate; |
+ bool mInitializedVM; |
+ bool mInitializedScript; |
+}; |
+ |
+#endif |