NAME SoXtDevice SoXtDev "" {
abstract base class device for use with the \cSoXtRenderArea\.
}

INCLUDE Xt/devices/SoXtDevice.h

DESC {
This is the abstract base class for devices in the Inventor Xt component
and utility library. When a device is registered with an
\cSoXtRenderArea\., the device is able to generate events in the
render area window. 
}

METHOD "" virtual void enable(Widget w, XtEventHandler f, XtPointer data, 
Window win = NULL) {}
METHOD "" virtual void disable(Widget w, XtEventHandler f, XtPointer data)
{
Enable and disable the device for the passed widget.  When enabled, the
callback function \af\. will be invoked when events occur in the widget.  
\adata\. is the \aclientData\. which will be passed.
}

METHOD xlateEv virtual const SoEvent * translateEvent(XAnyEvent *xevent)
{
This attempts to convert the passed X event into an \cSoEvent\..
If the event was not generated by this device, then NULL is returned.
}

METHOD setWinSize void setWindowSize(const SbVec2s &size) {}
METHOD getWinSize const SbVec2s & getWindowSize() const {
Set and get the window size of the widget this device is registered for.
This allows the device to correctly convert position information from
X window coordinates (origin at top left) to Inventor window
coordinates (origin at bottom left). (\cSoXtRenderArea\. will automatically
call this method for each device registered on it whenever the window
size changes.)
}

ALSO { SoXtMouse, SoXtKeyboard, SoXtSpaceball, SoXtInputFocus, 
SoXtRenderArea }
