X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fwindow.h;h=75c48850e991b93fa53cc33fcd52b0fd0358f91a;hb=d12fe10340948a3dfa6a5261fec51be079046fad;hp=55751b3d5a15cf689972ac38e3dc0f890f2d4a64;hpb=1aca77b93853ee127ac3bbf6886f7f04920542ef;p=libs%2Fgui.git diff --git a/source/graphics/window.h b/source/graphics/window.h index 55751b3..75c4885 100644 --- a/source/graphics/window.h +++ b/source/graphics/window.h @@ -8,12 +8,18 @@ namespace Msp { namespace Graphics { class Display; +struct Monitor; struct WindowOptions { + int x; + int y; + bool user_position; unsigned width; unsigned height; bool fullscreen; + const Monitor *fullscreen_monitor; + bool fullscreen_exclusive; bool resizable; WindowOptions(); @@ -30,7 +36,12 @@ public: objects instead. */ sigc::signal signal_input_event; + sigc::signal signal_got_focus; + sigc::signal signal_lost_focus; + + sigc::signal signal_move; sigc::signal signal_resize; + sigc::signal signal_expose; sigc::signal signal_close; protected: @@ -38,7 +49,9 @@ protected: WindowOptions options; bool visible; bool kbd_autorepeat; + bool touch_input; bool resizing; + bool moving; Private *priv; public: @@ -54,12 +67,18 @@ public: void set_title(const std::string &); void reconfigure(const WindowOptions &); private: + void set_fullscreen_mode(); void platform_reconfigure(bool); public: void set_keyboard_autorepeat(bool); bool get_keyboard_autorepeat() const { return kbd_autorepeat; } void show_cursor(bool); void warp_pointer(int, int); + void set_touch_input(bool); +private: + void platform_set_touch_input(); +public: + bool get_touch_input() const { return touch_input; } Display &get_display() const { return display; } const WindowOptions &get_options() const { return options; }