1 #ifndef MSP_CORE_ANDROID_MAINTHREAD_H_
2 #define MSP_CORE_ANDROID_MAINTHREAD_H_
4 #include <android/native_activity.h>
5 #include <sigc++/signal.h>
12 class MainThread: public Thread
15 sigc::signal<void, ANativeWindow *> signal_native_window_created;
16 sigc::signal<void, ANativeWindow *> signal_native_window_resized;
17 sigc::signal<void, ANativeWindow *> signal_native_window_destroyed;
18 sigc::signal<void, AInputQueue *> signal_input_queue_created;
19 sigc::signal<void, AInputQueue *> signal_input_queue_destroyed;
22 ANativeActivity *activity;
27 MainThread(ANativeActivity *);
29 bool is_starting_up() const { return starting_up; }
30 void wait_for_app_created();
31 void resume_startup();
36 static void app_created(void *);
37 static void native_window_created(ANativeActivity *, ANativeWindow *);
38 static void native_window_resized(ANativeActivity *, ANativeWindow *);
39 static void native_window_destroyed(ANativeActivity *, ANativeWindow *);
40 static void input_queue_created(ANativeActivity *, AInputQueue *);
41 static void input_queue_destroyed(ANativeActivity *, AInputQueue *);
44 } // namespace Android