00001 #ifndef OSDL_CONTROLLER_H_
00002 #define OSDL_CONTROLLER_H_
00003
00004
00005 #include "OSDLEventsCommon.h"
00006 #include "OSDLJoystickCommon.h"
00007
00008
00009 #include "Ceylan.h"
00010
00011 #include <string>
00012
00013
00014
00015 namespace OSDL
00016 {
00017
00018
00019 namespace MVC
00020 {
00021
00022
00086 class OSDL_DLL Controller : public Ceylan::Controller
00087 {
00088
00089
00090 public:
00091
00092
00097 Controller() throw() ;
00098
00099
00105 explicit Controller( Ceylan::Model & model ) throw() ;
00106
00107
00112 virtual ~Controller() throw() ;
00113
00114
00115
00116
00117
00118
00119
00128 virtual void keyboardFocusGained(
00129 const FocusEvent & keyboardFocusEvent ) throw() ;
00130
00131
00140 virtual void keyboardFocusLost(
00141 const FocusEvent & keyboardFocusEvent ) throw() ;
00142
00143
00144
00153 virtual void rawKeyPressed(
00154 const KeyboardEvent & keyboardPressedEvent ) throw() ;
00155
00156
00165 virtual void rawKeyReleased(
00166 const KeyboardEvent & keyboardReleasedEvent ) throw() ;
00167
00168
00177 virtual void unicodeSelected(
00178 const KeyboardEvent & keyboardPressedEvent ) throw() ;
00179
00180
00181
00182
00183
00184
00185
00186
00195 virtual void mouseFocusGained(
00196 const FocusEvent & mouseFocusEvent ) throw() ;
00197
00198
00207 virtual void mouseFocusLost(
00208 const FocusEvent & mouseFocusEvent ) throw() ;
00209
00210
00218 virtual void mouseMoved(
00219 const MouseMotionEvent & mouseMotionEvent )
00220 throw() ;
00221
00222
00231 virtual void mouseButtonPressed(
00232 const MouseButtonEvent & mouseButtonPressedEvent )
00233 throw() ;
00234
00235
00244 virtual void mouseButtonReleased(
00245 const MouseButtonEvent & mouseButtonReleasedEvent )
00246 throw() ;
00247
00248
00249
00250
00251
00252
00253
00262 virtual void joystickAxisChanged(
00263 const JoystickAxisEvent & joystickAxisEvent )
00264 throw() ;
00265
00266
00275 virtual void joystickTrackballChanged(
00276 const JoystickTrackballEvent & joystickTrackballEvent )
00277 throw() ;
00278
00279
00288 virtual void joystickHatChanged(
00289 const JoystickHatEvent & joystickHatChangedEvent )
00290 throw() ;
00291
00292
00301 virtual void joystickButtonPressed(
00302 const JoystickButtonEvent & joystickButtonPressedEvent )
00303 throw() ;
00304
00305
00314 virtual void joystickButtonReleased(
00315 const JoystickButtonEvent & joystickButtonReleasedEvent )
00316 throw() ;
00317
00318
00319
00320
00321
00322
00323
00338 virtual void joystickLeft( Events::AxisPosition leftExtent )
00339 throw() ;
00340
00341
00356 virtual void joystickRight( Events::AxisPosition rightExtent )
00357 throw() ;
00358
00359
00374 virtual void joystickUp( Events::AxisPosition upExtent )
00375 throw() ;
00376
00377
00392 virtual void joystickDown( Events::AxisPosition downExtent )
00393 throw() ;
00394
00395
00396
00405 virtual void joystickFirstButtonPressed() throw() ;
00406
00407
00416 virtual void joystickFirstButtonReleased() throw() ;
00417
00418
00427 virtual void joystickSecondButtonPressed() throw() ;
00428
00429
00438 virtual void joystickSecondButtonReleased() throw() ;
00439
00440
00441
00454 virtual const std::string toString(
00455 Ceylan::VerbosityLevels level = Ceylan::high )
00456 const throw() ;
00457
00458
00459
00460
00461 private:
00462
00463
00472 explicit Controller( const Controller & source ) throw() ;
00473
00474
00483 Controller & operator = ( const Controller & source ) throw() ;
00484
00485
00486 } ;
00487
00488 }
00489
00490 }
00491
00492
00493
00494 #endif // OSDL_CONTROLLER_H_