Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef EventListener_INCLUDE_ONCE
00033 #define EventListener_INCLUDE_ONCE
00034
00035 #include <vlGraphics/link_config.hpp>
00036 #include <vlCore/String.hpp>
00037
00038 namespace vl
00039 {
00040 class OpenGLContext;
00041
00042
00043
00055 class VLGRAPHICS_EXPORT UIEventListener: public Object
00056 {
00057 friend class OpenGLContext;
00058 public:
00059 virtual const char* className() { return "vl::UIEventListener"; }
00060
00062 UIEventListener(): mOpenGLContext(NULL), mEnabled(true)
00063 {
00064 VL_DEBUG_SET_OBJECT_NAME()
00065 }
00066
00068 virtual void initEvent() = 0;
00069
00071 virtual void destroyEvent() = 0;
00072
00075 virtual void updateEvent() = 0;
00076
00078 virtual void enableEvent(bool enabled) = 0;
00079
00081 virtual void addedListenerEvent(OpenGLContext*) = 0;
00082
00084 virtual void removedListenerEvent(OpenGLContext*) = 0;
00085
00087 virtual void mouseMoveEvent(int x, int y) = 0;
00088
00090 virtual void mouseUpEvent(EMouseButton button, int x, int y) = 0;
00091
00093 virtual void mouseDownEvent(EMouseButton button, int x, int y) = 0;
00094
00096 virtual void mouseWheelEvent(int n) = 0;
00097
00099 virtual void keyPressEvent(unsigned short unicode_ch, EKey key) = 0;
00100
00102 virtual void keyReleaseEvent(unsigned short unicode_ch, EKey key) = 0;
00103
00105 virtual void resizeEvent(int x, int y) = 0;
00106
00108 virtual void fileDroppedEvent(const std::vector<String>& files) = 0;
00109
00111 virtual void visibilityEvent(bool visible) = 0;
00112
00115 virtual void setEnabled(bool enabled) { if (mEnabled != enabled) { mEnabled = enabled; enableEvent(enabled); } }
00116
00118 bool isEnabled() const { return mEnabled; }
00119
00121 OpenGLContext* openglContext();
00122
00124 const OpenGLContext* openglContext() const;
00125
00126 private:
00127 OpenGLContext* mOpenGLContext;
00128 bool mEnabled;
00129 };
00130 }
00131
00132 #endif