--- /dev/null
+#ifndef MSP_GRAPHICS_DISPLAY_PLATFORM_H_
+#define MSP_GRAPHICS_DISPLAY_PLATFORM_H_
+
+#include <android/input.h>
+#include <android/native_window.h>
+#include <msp/core/mutex.h>
+#include "window_private.h"
+
+namespace Msp {
+namespace Graphics {
+
+typedef void *DisplayHandle;
+
+struct PlatformDisplayPrivate
+{
+ AInputQueue *input_queue;
+ std::list<Window::Event> events;
+ Mutex event_mutex;
+ WindowHandle native_window;
+ Mutex window_mutex;
+
+ void push_event(AndroidEventType);
+ void native_window_created(ANativeWindow *);
+ void native_window_resized(ANativeWindow *);
+ void native_window_destroyed(ANativeWindow *);
+ void input_queue_created(AInputQueue *);
+ void input_queue_destroyed(AInputQueue *);
+};
+
+} // namespace Graphics
+} // namespace Msp
+
+#endif