00001
00002
00003
00004 #ifndef EQ_EVENTHANDLER_H
00005 #define EQ_EVENTHANDLER_H
00006
00007 #include <eq/client/event.h>
00008 #include <eq/client/windowSystem.h>
00009
00010 #include <eq/base/hash.h>
00011
00012 namespace eq
00013 {
00014 class Pipe;
00015 class Window;
00016
00020 class EQ_EXPORT EventHandler
00021 {
00022 public:
00030 static EventHandler* registerPipe( Pipe* pipe );
00031
00037 virtual void deregisterPipe( Pipe* pipe ) = 0;
00038
00039 protected:
00041 EventHandler() : _lastEventWindow( 0 ) {}
00042
00044 virtual ~EventHandler(){}
00045
00047 void _computePointerDelta( const Window* window, Event& event );
00048
00050 void _getRenderContext( const Window* window, Event& event );
00051
00053 Event _lastPointerEvent;
00054
00056 const Window* _lastEventWindow;
00057
00058 private:
00059 };
00060 }
00061
00062 #endif // EQ_EVENTHANDLER_H
00063