---
name: "SoXtDevice"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoXtDevice"
---

# SoXtDevice(3iv)

abstract base class device for use with the SoXtRenderArea

## NAME

SoXtDevice — abstract base class device for use with the **SoXtRenderArea**

## INHERITS FROM

SoXtDevice

## SYNOPSIS

**#include \<Inventor/Xt/devices/SoXtDevice.h\>**

Methods from class SoXtDevice:

**virtual void**	**enable(Widget w, XtEventHandler f, XtPointer data, Window win = NULL)**\
 **virtual void**	**disable(Widget w, XtEventHandler f, XtPointer data)**\
 **virtual const SoEvent \***	**translateEvent(XAnyEvent \*xevent)**\
 **void**	**setWindowSize(const SbVec2s &size)**\
 **const SbVec2s &**	**getWindowSize() const**

## DESCRIPTION

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

## METHODS

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

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

**void**	**setWindowSize(const SbVec2s &size)**\
 **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). (**SoXtRenderArea** will automatically call this method for each device registered on it whenever the window size changes.)

## SEE ALSO

**SoXtMouse, SoXtKeyboard, SoXtSpaceball, SoXtInputFocus, SoXtRenderArea**
