1 #ifndef MSP_GRAPHICS_WINDOW_H_
2 #define MSP_GRAPHICS_WINDOW_H_
5 #include <sigc++/signal.h>
31 /** Provides input events. The event structure contents are platform-
32 specific. Applications will want to use the enclosed Keyboard and Mouse
34 sigc::signal<void, const Event &> signal_input_event;
36 sigc::signal<void, int, int> signal_move;
37 sigc::signal<void, unsigned, unsigned> signal_resize;
38 sigc::signal<void, unsigned, unsigned, unsigned, unsigned, const Event &> signal_expose;
39 sigc::signal<void> signal_close;
43 WindowOptions options;
52 Window(Display &, unsigned w, unsigned h, bool fs = false);
53 Window(Display &, const WindowOptions &);
57 void platform_cleanup();
61 void set_title(const std::string &);
62 void reconfigure(const WindowOptions &);
64 void platform_reconfigure(bool);
66 void set_keyboard_autorepeat(bool);
67 bool get_keyboard_autorepeat() const { return kbd_autorepeat; }
68 void show_cursor(bool);
69 void warp_pointer(int, int);
70 void set_touch_input(bool);
72 void platform_set_touch_input();
74 bool get_touch_input() const { return touch_input; }
76 Display &get_display() const { return display; }
77 const WindowOptions &get_options() const { return options; }
78 virtual unsigned get_width() const { return options.width; }
79 virtual unsigned get_height() const { return options.height; }
80 const Private &get_private() const { return *priv; }
89 bool event(const Event &evnt);
92 } // namespace Graphics