16 #ifndef PointingDevice_h
17 #define PointingDevice_h
19 #include <pointing/utils/URI.h>
20 #include <pointing/utils/TimeStamp.h>
41 static const int BUCKETS_SIZE = 5;
42 unsigned long buckets[BUCKETS_SIZE];
43 TimeStamp::inttime lastTime;
77 TimeStamp::inttime timestamp,
97 static void idle(
int milliseconds) ;
103 virtual bool isActive(
void)
const {
return true ; }
115 virtual std::string
getVendor(
void)
const {
return "???" ; }
127 virtual std::string
getProduct(
void)
const {
return "???" ; }
150 virtual URI
getURI(
bool expanded=
false,
bool crossplatform=
false)
const = 0 ;
156 int mm2counts(
double millimeters)
const ;
177 virtual void debug(std::ostream& )
const {}
virtual URI getURI(bool expanded=false, bool crossplatform=false) const =0
Constructs the URI according to the parameters of the device.
Definition: PointingDevice.h:64
virtual double getResolution(double *defval=0) const =0
Resolution of the mouse in CPI (counts per inch).
double counts2in(int counts) const
double estimatedUpdateFrequency() const
estimatedUpdateFrequency Estimates the frequency depending on the input timestamps ...
Definition: PointingDevice.cpp:73
Definition: PointingDevice.h:65
virtual void setPointingCallback(PointingCallback callback, void *context=0)=0
Sets the callback function which is called when device events occur.
virtual void debug(std::ostream &) const
Outputs the debug information to the given output stream.
Definition: PointingDevice.h:177
double counts2mm(int counts) const
Definition: PointingDevice.h:66
int mm2counts(double millimeters) const
Definition: DummyPointingDevice.cpp:23
virtual bool isActive(void) const
Indicates whether the current device is active.
Definition: PointingDevice.h:103
The PointingDevice class is used to represent Pointing Devices connected to the computer or pseudo-de...
Definition: PointingDevice.h:35
virtual double getUpdateFrequency(double *defval=0) const =0
Update frequency of the mouse in Hz.
virtual int getVendorID(void) const
Vendor identifier number.
Definition: PointingDevice.h:109
void registerTimestamp(TimeStamp::inttime timestamp)
registerTimestamp Registers the current timestamp to calculate frequency of the device ...
Definition: PointingDevice.cpp:58
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:100
static void idle(int milliseconds)
The function is used to sleep the current thread.
Definition: PointingDevice.cpp:143
virtual void setDebugLevel(int)
Sets the level of information for debugging purposes (default = 0).
Definition: PointingDevice.h:172
int in2counts(double inches) const
virtual int getProductID(void) const
Product identifier number.
Definition: PointingDevice.h:121
void(* PointingCallback)(void *context, TimeStamp::inttime timestamp, int dx, int dy, int buttons)
Definition: PointingDevice.h:76
virtual std::string getVendor(void) const
Readable vendor name.
Definition: PointingDevice.h:115
virtual std::string getProduct(void) const
Readable product name.
Definition: PointingDevice.h:127