00001 #ifndef __ICameraController__
00002 #define __ICameraController__
00003 
00004 #include "ICameraManipulator.h"
00005 
00006 
00007 class ICameraController {
00008 public:
00009    
00010     virtual ICameraManipulator* getCameraManipulator() = 0;
00011     virtual void setCameraManipulator(ICameraManipulator* cameraManipulator) = 0;
00012 
00013     
00014     virtual void enable(int x = -1, int y = -1) = 0;
00015     virtual void disable() = 0;
00016 
00017     virtual bool isEnabled() = 0;
00018 
00019 
00020     virtual void onMouseLeftUp(int x, int y) = 0;
00021         virtual void onMouseLeftDown(int x, int y) = 0;
00022 
00023     virtual void onMouseMiddleUp(int x, int y) = 0;
00024         virtual void onMouseMiddleDown(int x, int y) = 0;
00025 
00026         virtual void onMouseRightUp(int x, int y) = 0;
00027         virtual void onMouseRightDown(int x, int y) = 0;
00028 
00029         virtual void onMouseMove(int x, int y)          = 0;
00030         virtual void onMouseWheel(int x, int y, int d)  = 0;
00031 
00032         virtual void onKeyDown(int key) = 0;
00033         virtual void onKeyUp(int key)   = 0;
00034 
00035 };
00036 
00037 
00038 #endif