16 #ifndef PointingDevice_h
17 #define PointingDevice_h
19 #include <pointing/utils/URI.h>
20 #include <pointing/utils/TimeStamp.h>
21 #include <pointing/utils/FrequencyEstimator.h>
42 FrequencyEstimator freqEstim;
75 TimeStamp::inttime timestamp,
95 static void idle(
int milliseconds) ;
101 virtual bool isActive(
void)
const {
return true ; }
113 virtual std::string
getVendor(
void)
const {
return "???" ; }
125 virtual std::string
getProduct(
void)
const {
return "???" ; }
148 virtual URI
getURI(
bool expanded=
false,
bool crossplatform=
false)
const = 0 ;
154 int mm2counts(
double millimeters)
const ;
155 double counts2mm(
int counts)
const ;
156 int in2counts(
double inches)
const ;
157 double counts2in(
int counts)
const ;
175 virtual void debug(std::ostream& )
const {}
virtual void getAbsolutePosition(double *x, double *y) const
getAbsolutePosition Returns absolute position of the device if available otherwise -1...
Definition: PointingDevice.cpp:117
virtual int getVendorID(void) const
Vendor identifier number.
Definition: PointingDevice.h:107
int mm2counts(double millimeters) const
Definition: PointingDevice.h:63
virtual int getProductID(void) const
Product identifier number.
Definition: PointingDevice.h:119
virtual void setDebugLevel(int)
Sets the level of information for debugging purposes (default = 0).
Definition: PointingDevice.h:170
void(* PointingCallback)(void *context, TimeStamp::inttime timestamp, int dx, int dy, int buttons)
Definition: PointingDevice.h:74
The PointingDevice class is used to represent Pointing Devices connected to the computer or pseudo-de...
Definition: PointingDevice.h:36
double estimatedUpdateFrequency() const
estimatedUpdateFrequency Estimates the frequency depending on the input timestamps ...
Definition: PointingDevice.cpp:49
virtual URI getURI(bool expanded=false, bool crossplatform=false) const =0
Constructs the URI according to the parameters of the device.
static PointingDevice * create(const char *device_uri=0)
This static function is used to instantiate a platform-specific object of the class.
Definition: PointingDevice.cpp:57
Definition: PointingDevice.h:62
virtual bool isActive(void) const
Indicates whether the current device is active.
Definition: PointingDevice.h:101
Definition: PointingDevice.h:64
void registerTimestamp(TimeStamp::inttime timestamp, int dx, int dy)
registerTimestamp Registers the current timestamp to calculate frequency of the device ...
Definition: PointingDevice.cpp:42
virtual double getResolution(double *defval=0) const =0
Resolution of the mouse in CPI (counts per inch).
virtual std::string getProduct(void) const
Readable product name.
Definition: PointingDevice.h:125
virtual void setPointingCallback(PointingCallback callback, void *context=0)=0
Sets the callback function which is called when device events occur.
virtual double getUpdateFrequency(double *defval=0) const =0
Update frequency of the mouse in Hz.
virtual std::string getVendor(void) const
Readable vendor name.
Definition: PointingDevice.h:113
virtual void debug(std::ostream &) const
Outputs the debug information to the given output stream.
Definition: PointingDevice.h:175
static void idle(int milliseconds)
The function is used to sleep the current thread.
Definition: PointingDevice.cpp:104