]> git.tdb.fi Git - libs/gui.git/blobdiff - source/gbase/eventsource.h
Add EventSource abstraction layer below Window
[libs/gui.git] / source / gbase / eventsource.h
diff --git a/source/gbase/eventsource.h b/source/gbase/eventsource.h
new file mode 100644 (file)
index 0000000..8133bbe
--- /dev/null
@@ -0,0 +1,36 @@
+/* $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