]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/android/window.cpp
Android support
[libs/gui.git] / source / graphics / android / window.cpp
diff --git a/source/graphics/android/window.cpp b/source/graphics/android/window.cpp
new file mode 100644 (file)
index 0000000..465d325
--- /dev/null
@@ -0,0 +1,76 @@
+#include "display.h"
+#include "display_private.h"
+#include "window.h"
+#include "window_private.h"
+
+using namespace std;
+
+namespace Msp {
+namespace Graphics {
+
+void Window::platform_init()
+{
+       priv->window = 0;
+}
+
+void Window::platform_cleanup()
+{
+}
+
+void Window::set_title(const string &)
+{
+}
+
+void Window::platform_reconfigure(bool)
+{
+}
+
+void Window::show_cursor(bool)
+{
+}
+
+void Window::warp_pointer(int, int)
+{
+}
+
+void Window::platform_show()
+{
+}
+
+void Window::platform_hide()
+{
+}
+
+bool Window::event(const Event &evnt)
+{
+       switch(evnt.type)
+       {
+       case INPUT_EVENT:
+               signal_input_event.emit(evnt);
+               break;
+       case WINDOW_CREATED:
+               priv->window = display.get_private().native_window;
+               display.remove_window(*this);
+               display.add_window(*this);
+               priv->signal_window_acquired.emit(priv->window);
+               break;
+       case WINDOW_RESIZED:
+               options.width = ANativeWindow_getWidth(priv->window);
+               options.height = ANativeWindow_getHeight(priv->window);
+               signal_resize.emit(options.width, options.height);
+               break;
+       case WINDOW_DESTROYED:
+               priv->signal_window_lost.emit();
+               priv->window = 0;
+               display.remove_window(*this);
+               display.add_window(*this);
+               break;
+       default:
+               return false;
+       }
+
+       return true;
+}
+
+} // namespace Graphics
+} // namespace Msp