Translates and reports events for a SpaceBall or SpaceMouse (Magellan) device. More...
#include <Inventor/Xt/devices/SoXtSpaceball.h>
Public Member Functions | |
SoXtSpaceball (SoGuiSpaceball::Mask mask=SoGuiSpaceball::ALL) | |
SoXtSpaceball (Display *d, SoGuiSpaceball::Mask mask=SoGuiSpaceball::ALL) | |
~SoXtSpaceball () | |
virtual void | enable (SoWidget w, XtEventHandler f, XtPointer data, Window win=NULL) |
virtual void | disable (SoWidget w, XtEventHandler f, XtPointer data) |
virtual const SoEvent * | translateEvent (XAnyEvent *xevent) |
void | setRotationScaleFactor (float f) |
float | getRotationScaleFactor () const |
void | setTranslationScaleFactor (float f) |
float | getTranslationScaleFactor () const |
void | setFocusToWindow (SbBool flag) |
SbBool | isFocusToWindow () const |
Static Public Member Functions | |
static SbBool | exists () |
static SbBool | exists (Display *d) |
Translates and reports events for a SpaceBall or SpaceMouse (Magellan) device.
This class manages events generated by the spaceball, including spaceball motion (SoMotion3Event), and spaceball button press and release events (SoSpaceballButtonEvent).
SoXtSpaceball::SoXtSpaceball | ( | SoGuiSpaceball::Mask | mask = SoGuiSpaceball::ALL |
) |
Constructor.
SoXtSpaceball::SoXtSpaceball | ( | Display * | d, | |
SoGuiSpaceball::Mask | mask = SoGuiSpaceball::ALL | |||
) |
Constructor.
SoXtSpaceball::~SoXtSpaceball | ( | ) |
Destructor.
virtual void SoXtSpaceball::disable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data | |||
) | [virtual] |
Disables this device for the passed widget.
The callback function f will be invoked when events occur in w. Data is the clientData which will be passed.
Implements SoXtDevice.
virtual void SoXtSpaceball::enable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data, | |||
Window | win = NULL | |||
) | [virtual] |
Enables this device for the passed widget.
The callback function f will be invoked when events occur in w. Data is the clientData which will be passed.
Implements SoXtDevice.
Returns whether or not the spaceball device exists for use.
static SbBool SoXtSpaceball::exists | ( | ) | [inline, static] |
Returns whether or not the spaceball device exists for use.
float SoXtSpaceball::getRotationScaleFactor | ( | ) | const [inline] |
Returns the rotation scale factor.
float SoXtSpaceball::getTranslationScaleFactor | ( | ) | const [inline] |
Returns the translation scale factor.
SbBool SoXtSpaceball::isFocusToWindow | ( | ) | const [inline] |
Gets the input focus method.
See setFocusToWindow() for details.
void SoXtSpaceball::setFocusToWindow | ( | SbBool | flag | ) |
Sets the input focus method used to get events from the space ball.
If FALSE: SpaceBall events are received only if the cursor is in the window or when the window has the focus (default).
If TRUE: SpaceBall events are received even if cursor is out of the window.
void SoXtSpaceball::setRotationScaleFactor | ( | float | f | ) | [inline] |
The spaceball reports rotations and translations as integers.
These values must be scaled to be useful. This method sets the rotation scale factor. Default is .006.
void SoXtSpaceball::setTranslationScaleFactor | ( | float | f | ) | [inline] |
The spaceball reports rotations and translations as integers.
These values must be scaled to be useful. This method sets the translation scale factor. Default is .006.
virtual const SoEvent* SoXtSpaceball::translateEvent | ( | XAnyEvent * | xevent | ) | [virtual] |
This converts a system event into an SoEvent, returning NULL if the event is not from this device.
Implements SoXtDevice.