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:
bool kbd_autorepeat;
bool touch_input;
bool resizing;
+ bool moving;
Private *priv;
public:
void platform_init();
void platform_cleanup();
public:
- virtual ~Window();
+ ~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);
Display &get_display() const { return display; }
const WindowOptions &get_options() const { return options; }
- virtual unsigned get_width() const { return options.width; }
- virtual unsigned get_height() const { return options.height; }
+ unsigned get_width() const { return options.width; }
+ unsigned get_height() const { return options.height; }
const Private &get_private() const { return *priv; }
void show();