Abstract base class for input devices. More...
#include <Inventor/Xt/devices/SoXtDevice.h>
Public Member Functions | |
virtual void | enable (SoWidget w, XtEventHandler f, XtPointer data, Window win=(Window) NULL)=0 |
virtual void | disable (SoWidget w, XtEventHandler f, XtPointer data)=0 |
virtual const SoEvent * | translateEvent (XAnyEvent *xevent)=0 |
void | setWindowSize (const SbVec2s &s) |
const SbVec2s & | getWindowSize () const |
virtual | ~SoXtDevice () |
Abstract base class for input devices.
This is the abstract base class for devices in the Open Inventor Xt component and utility library. When a device is registered with an SoXtRenderArea, the device is able to generate messages in the render area window.
Used internally by SoXtRenderArea and derived classes. Can also be used by the application to translate system events into SoEvent objects.
SoXtMouse, SoXtKeyboard, SoXtSpaceBall, SoXtInputFocus, SoXtRenderArea
virtual SoXtDevice::~SoXtDevice | ( | ) | [inline, virtual] |
virtual void SoXtDevice::disable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data | |||
) | [pure virtual] |
Disables the device for the passed widget.
Implemented in SoXtInputFocus, SoXtKeyboard, SoXtMouse, and SoXtSpaceball.
virtual void SoXtDevice::enable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data, | |||
Window | win = (Window) NULL | |||
) | [pure virtual] |
Enables the device for the passed widget.
When enabled, the callback function f will be invoked when events occur in the window. data is the clientData which will be passed.
Implemented in SoXtInputFocus, SoXtKeyboard, SoXtMouse, and SoXtSpaceball.
const SbVec2s& SoXtDevice::getWindowSize | ( | ) | const [inline] |
Gets the size of the window this device is registered for.
void SoXtDevice::setWindowSize | ( | const SbVec2s & | s | ) | [inline] |
Sets the size of the window this device is registered for.
This allows the device to correctly convert position information from X window coordinates (origin at top left) to Open Inventor window coordinates (origin at bottom left). (SoXtRenderArea will automatically call this method for each device registered on it whenever the window size changes.) Note: Setting the window size only affects the size as perceived by the device and not the actual window size.
virtual const SoEvent* SoXtDevice::translateEvent | ( | XAnyEvent * | xevent | ) | [pure virtual] |
Attempts to convert the passed event into an SoEvent.
Returns a pointer to an internal SoEvent object owned by the class. Do not delete this object. If the message was not generated by this device, then NULL is returned.
Implemented in SoXtInputFocus, SoXtKeyboard, SoXtMouse, and SoXtSpaceball.