sigc::signal<void, int, int> signal_pointer_motion;
sigc::signal<void, unsigned, unsigned, unsigned> signal_key_press;
sigc::signal<void, unsigned, unsigned> signal_key_release;
+ sigc::signal<void, unsigned, unsigned> signal_resize;
+ sigc::signal<void> signal_close;
protected:
typedef ::Window Handle;
Display *display;
DisplayOptions options;
Handle window;
+ Atom wm_delete_window;
Window();
public:
- Window(unsigned, unsigned);
- Window(const DisplayOptions &);
+ Window(unsigned w, unsigned h);
+ Window(const DisplayOptions &dopt);
virtual ~Window();
unsigned get_width() const { return options.width; }
void tick();
protected:
void prepare();
+ void set_window(Handle wnd);
void init();
- void process_event(const XEvent &);
+ void process_event(const XEvent &event);
+ virtual void on_event(const XEvent &event) { (void)event; }
static int x_error_handler(Display *, XErrorEvent *);
};