--- /dev/null
+/* $Id$
+
+This file is part of libmspgbase
+Copyright © 2010 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#ifndef MSP_GBASE_EVENTSOURCE_H_
+#define MSP_GBASE_EVENTSOURCE_H_
+
+namespace Msp {
+namespace Graphics {
+
+class EventSource
+{
+public:
+ sigc::signal<void, unsigned, unsigned, unsigned> signal_key_press;
+ sigc::signal<void, unsigned, unsigned> signal_key_release;
+ sigc::signal<void, int, int, unsigned, unsigned> signal_button_press;
+ sigc::signal<void, int, int, unsigned, unsigned> signal_button_release;
+ sigc::signal<void, int, int> signal_pointer_motion;
+ sigc::signal<void, unsigned, unsigned> signal_resize;
+
+protected:
+ EventSource() { }
+public:
+ virtual ~EventSource() { }
+
+ virtual unsigned get_width() const = 0;
+ virtual unsigned get_height() const = 0;
+};
+
+} // namespace Graphics
+} // namespace Msp
+
+#endif