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 #ifndef OSDL_CONTROLLER_H_
00028 #define OSDL_CONTROLLER_H_
00029
00030
00031 #include "OSDLEventsCommon.h"
00032 #include "OSDLJoystickCommon.h"
00033
00034
00035 #include "Ceylan.h"
00036
00037 #include <string>
00038
00039
00040
00041
00042 namespace OSDL
00043 {
00044
00045
00046
00047 namespace MVC
00048 {
00049
00050
00051
00115 class OSDL_DLL Controller : public Ceylan::Controller
00116 {
00117
00118
00119
00120 public:
00121
00122
00123
00128 Controller() ;
00129
00130
00131
00137 explicit Controller( Ceylan::Model & model ) ;
00138
00139
00140
00145 virtual ~Controller() throw() ;
00146
00147
00148
00149
00150
00151
00152
00153
00162 virtual void keyboardFocusGained(
00163 const OSDL::Events::FocusEvent & keyboardFocusEvent ) ;
00164
00165
00166
00175 virtual void keyboardFocusLost(
00176 const OSDL::Events::FocusEvent & keyboardFocusEvent ) ;
00177
00178
00179
00188 virtual void rawKeyPressed(
00189 const OSDL::Events::KeyboardEvent & keyboardPressedEvent ) ;
00190
00191
00192
00201 virtual void rawKeyReleased(
00202 const OSDL::Events::KeyboardEvent &
00203 keyboardReleasedEvent ) ;
00204
00205
00206
00215 virtual void unicodeSelected(
00216 const OSDL::Events::KeyboardEvent & keyboardPressedEvent ) ;
00217
00218
00219
00220
00221
00222
00223
00224
00225
00234 virtual void mouseFocusGained(
00235 const OSDL::Events::FocusEvent & mouseFocusEvent ) ;
00236
00237
00238
00247 virtual void mouseFocusLost(
00248 const OSDL::Events::FocusEvent & mouseFocusEvent ) ;
00249
00250
00251
00259 virtual void mouseMoved(
00260 const OSDL::Events::MouseMotionEvent & mouseMotionEvent ) ;
00261
00262
00263
00272 virtual void mouseButtonPressed(
00273 const OSDL::Events::MouseButtonEvent &
00274 mouseButtonPressedEvent ) ;
00275
00276
00277
00286 virtual void mouseButtonReleased(
00287 const OSDL::Events::MouseButtonEvent &
00288 mouseButtonReleasedEvent ) ;
00289
00290
00291
00292
00293
00294
00295
00296
00305 virtual void joystickAxisChanged(
00306 const OSDL::Events::JoystickAxisEvent &
00307 joystickAxisEvent ) ;
00308
00309
00310
00319 virtual void joystickTrackballChanged(
00320 const OSDL::Events::JoystickTrackballEvent &
00321 joystickTrackballEvent ) ;
00322
00323
00324
00333 virtual void joystickHatChanged(
00334 const OSDL::Events::JoystickHatEvent &
00335 joystickHatChangedEvent ) ;
00336
00337
00338
00347 virtual void joystickButtonPressed(
00348 const OSDL::Events::JoystickButtonEvent &
00349 joystickButtonPressedEvent ) ;
00350
00351
00352
00361 virtual void joystickButtonReleased(
00362 const OSDL::Events::JoystickButtonEvent &
00363 joystickButtonReleasedEvent ) ;
00364
00365
00366
00367
00368
00369
00370
00371
00372
00387 virtual void joystickLeft( Events::AxisPosition leftExtent ) ;
00388
00389
00390
00405 virtual void joystickRight( Events::AxisPosition rightExtent ) ;
00406
00407
00408
00423 virtual void joystickUp( Events::AxisPosition upExtent ) ;
00424
00425
00426
00441 virtual void joystickDown( Events::AxisPosition downExtent ) ;
00442
00443
00444
00453 virtual void joystickFirstButtonPressed() ;
00454
00455
00456
00465 virtual void joystickFirstButtonReleased() ;
00466
00467
00468
00477 virtual void joystickSecondButtonPressed() ;
00478
00479
00480
00489 virtual void joystickSecondButtonReleased() ;
00490
00491
00492
00499 virtual const Ceylan::Event & getEventFor(
00500 const Ceylan::CallerEventListener & listener ) ;
00501
00502
00503
00516 virtual const std::string toString(
00517 Ceylan::VerbosityLevels level = Ceylan::high ) const ;
00518
00519
00520
00521
00522 private:
00523
00524
00525
00534 explicit Controller( const Controller & source ) ;
00535
00536
00537
00546 Controller & operator = ( const Controller & source ) ;
00547
00548
00549 } ;
00550
00551
00552 }
00553
00554 }
00555
00556
00557
00558 #endif // OSDL_CONTROLLER_H_
00559