3 // Copyright (c) 2005 Phil Cowans
5 #ifndef __DasherInput_h__
6 #define __DasherInput_h__
8 #include "DasherTypes.h"
9 #include "DasherModule.h"
15 class Dasher::CDasherInput
: public CDasherModule
{
19 CDasherInput(Dasher::CEventHandler
* pEventHandler
, CSettingsStore
* pSettingsStore
, long long int iID
, int iType
, const char *szName
)
20 : CDasherModule(pEventHandler
, pSettingsStore
, iID
, iType
, szName
) {};
22 /// Set the maximum values for each of the coordinates. Minimum
23 /// values are assumed to be zero for now
24 virtual void SetMaxCoordinates(int iN
, myint
* iDasherMax
) {};
26 /// Fill pCoordinates with iN coordinate values, return 0 if the
27 /// values were in screen coordinates or 1 if the values were in
28 /// Dasher coordinates.
29 virtual int GetCoordinates(int iN
, myint
* pCoordinates
) = 0;
31 /// Get the number of co-ordinates that this device supplies
33 virtual int GetCoordinateCount() = 0;
35 /// Activate the device. If a helper thread needs to be started in
36 /// order to listen for input then do it here.
37 virtual void Activate() {};
39 /// Deactivate the device. Please don't hold on to any significant
40 /// resources (eg helper threads) after deactivation.
41 virtual void Deactivate() {};