#include <string>
#include <sigc++/signal.h>
-#include "eventsource.h"
namespace Msp {
namespace Graphics {
WindowOptions();
};
-class Window: public EventSource
+class Window
{
public:
struct Private;
struct Event;
+ /** Provides input events. The event structure contents are platform-
+ specific. Applications will want to use the enclosed Keyboard and Mouse
+ objects instead. */
+ sigc::signal<void, const Event &> signal_input_event;
+
+ sigc::signal<void, unsigned, unsigned> signal_resize;
sigc::signal<void> signal_close;
protected:
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 platform_reconfigure(bool);
+public:
void set_keyboard_autorepeat(bool);
bool get_keyboard_autorepeat() const { return kbd_autorepeat; }
void show_cursor(bool);
void show();
void hide();
+private:
+ void platform_show();
+ void platform_hide();
+public:
bool event(const Event &evnt);
};