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::Composition Class Reference

The Composition class can be used to apply several transfer functions to the input. More...

#include <Composition.h>

Inheritance diagram for pointing::Composition:
pointing::TransferFunction

Public Member Functions

 Composition (URI &uri, PointingDevice *input, DisplayDevice *output)
 
unsigned long size (void) const
 
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...
 
void prependFunction (std::string uri)
 prependFunction is used to add a function to the beginning of the list so that it is called at the beginning. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
void prependFunction (URI &uri)
 prependFunction is used to add a function to the beginning of the list so that it is called at the beginning. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
void prependFunction (TransferFunction *function)
 prependFunction is used to add a function to the beginning of the list so that it is called at the beginning. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
void appendFunction (std::string uri)
 appendFunction is used to add a function to the end of the list so that it is called at the after all the functions in the list. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
void appendFunction (URI &uri)
 appendFunction is used to add a function to the end of the list so that it is called at the after all the functions in the list. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
void appendFunction (TransferFunction *function)
 appendFunction is used to add a function to the end of the list so that it is called at the after all the functions in the list. URI, URI string specifying a transfer function or transfer function itself may be passed as an argument.
 
- 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 Composition class can be used to apply several transfer functions to the input.

It is called by specifying URI as composition:<filename> where filename is read line by line, where each line must represent a transfer function. function are called in appearing order, i.e. pixels = fn(...f2(f1(mickeys)))

A function can be added to the start or to the end of the function list.

Member Function Documentation

void pointing::Composition::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::Composition::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.

URI pointing::Composition::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.

unsigned long pointing::Composition::size ( void  ) const
inline
Returns
The number of transfer functions.

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