Libpointing
An open-source cross-platform library to get raw events from pointing devices and master transfer functions.
Public Member Functions | List of all members
pointing::SubPixelFunction Class Reference

The SubPixelFunction class is the subclass of TransferFunction which can be used to extend any TransferFunction to have subpixel functionality. More...

#include <SubPixelFunction.h>

Inheritance diagram for pointing::SubPixelFunction:
pointing::TransferFunction

Public Member Functions

 SubPixelFunction (const char *uri, PointingDevice *input, DisplayDevice *output)
 
 SubPixelFunction (std::string uri, PointingDevice *input, DisplayDevice *output)
 
 SubPixelFunction (URI &uri, PointingDevice *input, DisplayDevice *output)
 
 SubPixelFunction (URI uri, URI funcUri, PointingDevice *input, DisplayDevice *output)
 
void setSubPixeling (bool subpixeling)
 setSubPixeling Turn on or off subpixeling More...
 
bool getSubPixeling () const
 getSubPixeling Is subpixeling activated? More...
 
void setHumanResolution (int humanResolution)
 setHumanResolution Sets the resolution of the pointing device at which humans have maximum pointing task efficiency. More...
 
int getHumanResolution () const
 getHumanResolution Gets the resolution of the pointing device at which humans have maximum pointing task efficiency. More...
 
void setCardinalitySize (int cardinality, int size)
 setCardinalitySize More...
 
void getCardinalitySize (int *cardinality, int *size) const
 getCardinalitySize More...
 
void clearState (void)
 Method which clears the current state of the device to be the default one (without any remainders or previous data).
 
void applyi (int dxMickey, int dyMickey, int *dxPixel, int *dyPixel, TimeStamp::inttime timestamp=TimeStamp::undef)
 apply The main method of the class which applies the transfer function. More...
 
void applyd (int dxMickey, int dyMickey, double *dxPixel, double *dyPixel, TimeStamp::inttime timestamp=TimeStamp::undef)
 apply The main method of the class which applies the transfer function. More...
 
URI getURI (bool expanded=false) const
 getURI The method constructs URI corresponding to the type and parameters of the transfer function. More...
 
URI getInnerURI (bool expanded=false) const
 getInnerURI The original transfer function URI without subpixeling More...
 
- Public Member Functions inherited from pointing::TransferFunction
virtual void setDebugLevel (int)
 Sets the level of information for debugging purposes (default = 0).
 
virtual void debug (std::ostream &) const
 

Additional Inherited Members

- Static Public Member Functions inherited from pointing::TransferFunction
static std::list< std::string > schemes (void)
 
static TransferFunctioncreate (const char *function_uri, PointingDevice *input, DisplayDevice *output)
 Static method to instantiate an object of a sub-class. More...
 
static TransferFunctioncreate (std::string function_uri, PointingDevice *input, DisplayDevice *output)
 Static method to instantiate an object of a sub-class. More...
 
static TransferFunctioncreate (URI &function_uri, PointingDevice *input, DisplayDevice *output)
 Static method to instantiate an object of a sub-class. More...
 
- Protected Member Functions inherited from pointing::TransferFunction
void normalizeInput (int *dx, int *dy, PointingDevice *input) const
 normalizeInput Normalizes input to a transfer function with respect to the given PointingDevice. For example, to prevent fast movements of the cursor for high resolution mice. dx and dy are changed according to the input->getResolution() More...
 
void normalizeOutput (int *dx, int *dy, DisplayDevice *output) const
 normalizeOutput Normalizes output of a transfer function with respect to the given DisplayDevice. For example, to prevent slow movements of the cursor for high resolution display. dx and dy are changed according to the output->getResolution() More...
 

Detailed Description

The SubPixelFunction class is the subclass of TransferFunction which can be used to extend any TransferFunction to have subpixel functionality.

The implementation is based on the paper of N. Roussel, G. Casiez, J. Aceituno and D. Vogel. "Giving a hand to the eyes: leveraging input accuracy for subpixel interaction."

Member Function Documentation

void pointing::SubPixelFunction::applyd ( int  dxMickey,
int  dyMickey,
double *  dxPixel,
double *  dyPixel,
TimeStamp::inttime  timestamp = TimeStamp::undef 
)
virtual

apply The main method of the class which applies the transfer function.

Parameters
dxMickeyTranslation in dots of the input device along x direction.
dyMickeyTranslation in dots of the input device along y direction.
dxPixel(Double) Computed translation in pixels of the output device along x direction.
dyPixel(Double) Computed translation in pixels of the output device along y direction.
timestamp

Implements pointing::TransferFunction.

void pointing::SubPixelFunction::applyi ( int  dxMickey,
int  dyMickey,
int *  dxPixel,
int *  dyPixel,
TimeStamp::inttime  timestamp = TimeStamp::undef 
)
virtual

apply The main method of the class which applies the transfer function.

Parameters
dxMickeyTranslation in dots of the input device along x direction.
dyMickeyTranslation in dots of the input device along y direction.
dxPixel(Integer) Computed translation in pixels of the output device along x direction.
dyPixel(Integer) Computed translation in pixels of the output device along y direction.
timestamp

Implements pointing::TransferFunction.

void pointing::SubPixelFunction::getCardinalitySize ( int *  cardinality,
int *  size 
) const

getCardinalitySize

Parameters
cardinalityParameter defining the number of elements which users expect to select from.
sizeThe size of the model (element or widget) in pixels
int pointing::SubPixelFunction::getHumanResolution ( ) const

getHumanResolution Gets the resolution of the pointing device at which humans have maximum pointing task efficiency.

Parameters
humanResolutionDevice's Human Resolution in CPI
URI pointing::SubPixelFunction::getInnerURI ( bool  expanded = false) const

getInnerURI The original transfer function URI without subpixeling

Parameters
expandedIndicates whether all parameters must be included in URI.
Returns
URI result
bool pointing::SubPixelFunction::getSubPixeling ( ) const

getSubPixeling Is subpixeling activated?

Parameters
subpixelingSubpixeling is turned on if True otherwise defined transfer function is applied
URI pointing::SubPixelFunction::getURI ( bool  expanded = false) const
virtual

getURI The method constructs URI corresponding to the type and parameters of the transfer function.

Parameters
expandedIndicates whether all parameters must be included in URI.
Returns
URI result.

Implements pointing::TransferFunction.

void pointing::SubPixelFunction::setCardinalitySize ( int  cardinality,
int  size 
)

setCardinalitySize

Parameters
cardinalityParameter defining the number of elements which users expect to select from.
sizeThe size of the model (element or widget) in pixels
void pointing::SubPixelFunction::setHumanResolution ( int  humanResolution)

setHumanResolution Sets the resolution of the pointing device at which humans have maximum pointing task efficiency.

Parameters
humanResolutionDevice's Human Resolution in CPI
void pointing::SubPixelFunction::setSubPixeling ( bool  subpixeling)

setSubPixeling Turn on or off subpixeling

Parameters
subpixelingSubpixeling is turned on if True otherwise defined transfer function is applied

The documentation for this class was generated from the following files: