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();
objects instead. */
sigc::signal<void, const Event &> signal_input_event;
+ sigc::signal<void> signal_got_focus;
+ sigc::signal<void> signal_lost_focus;
+
+ sigc::signal<void, int, int> signal_move;
sigc::signal<void, unsigned, unsigned> signal_resize;
+ sigc::signal<void, unsigned, unsigned, unsigned, unsigned, const Event &> signal_expose;
sigc::signal<void> signal_close;
protected:
WindowOptions options;
bool visible;
bool kbd_autorepeat;
+ bool touch_input;
bool resizing;
+ bool moving;
Private *priv;
public:
Window(Display &, const WindowOptions &);
private:
void init();
+ void platform_init();
+ void platform_cleanup();
public:
virtual ~Window();
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; }
void show();
void hide();
+private:
+ void platform_show();
+ void platform_hide();
+public:
bool event(const Event &evnt);
};