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