Abstract base class for input devices. More...
#include <Inventor/Win/devices/SoWinDevice.h>
Public Member Functions | |
virtual void | enable (SoWidget w, XtEventHandler f, XtPointer data, Window win=NULL)=0 |
virtual void | disable (SoWidget w, XtEventHandler f, XtPointer data)=0 |
virtual const SoEvent * | translateEvent (XAnyEvent *msg)=0 |
void | setWindowSize (const SbVec2s &s) |
const SbVec2s & | getWindowSize () const |
This is the abstract base class for devices in the Open Inventor Windows component and utility library. When a device is registered with an SoWinRenderArea, the device is able to generate messages in the render area window.
Used internally by SoWinRenderArea and derived classes. Can also be used by the application to translate system events into SoEvent objects.
SoWinMouse, SoWinKeyboard, SoWinRenderArea, SoWinTouchScreen
virtual void SoWinDevice::disable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data | |||
) | [pure virtual] |
Disables the device.
Implemented in SoWinTouchScreen, SoWinKeyboard, SoWinMouse, and SoWinSpaceball.
virtual void SoWinDevice::enable | ( | SoWidget | w, | |
XtEventHandler | f, | |||
XtPointer | data, | |||
Window | win = NULL | |||
) | [pure virtual] |
Enables the device for the passed window handle.
When enabled, the callback function f will be invoked when messages occur in the window. data is the clientData which will be passed.
Implemented in SoWinTouchScreen, SoWinKeyboard, SoWinMouse, and SoWinSpaceball.
const SbVec2s& SoWinDevice::getWindowSize | ( | ) | const [inline] |
Gets the size of the window this device is registered for.
void SoWinDevice::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 Windows coordinates (origin at top left) to Open Inventor window coordinates (origin at bottom left). (SoWinRenderArea 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* SoWinDevice::translateEvent | ( | XAnyEvent * | msg | ) | [pure virtual] |
Attempts to convert the passed message 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 SoWinTouchScreen, SoWinKeyboard, SoWinMouse, and SoWinSpaceball.