Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
SoXtDevice Class Referenceabstract

Abstract base class for input devices. More...

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

+ Inheritance diagram for SoXtDevice:

Public Member Functions

virtual void enable (SoWidget w, XtEventHandler f, XtPointer data, Window win=(Window) NULL)=0
 Enables the device for the passed widget.
 
virtual void disable (SoWidget w, XtEventHandler f, XtPointer data)=0
 Disables the device for the passed widget.
 
virtual const SoEventtranslateEvent (XAnyEvent *xevent)=0
 Attempts to convert the passed event into an SoEvent.
 
void setWindowSize (const SbVec2s &s)
 Sets the size of the window this device is registered for.
 
const SbVec2sgetWindowSize () const
 Gets the size of the window this device is registered for.
 
virtual ~SoXtDevice ()
 

Detailed Description

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.

SEE ALSO

SoXtMouse, SoXtKeyboard, SoXtSpaceBall, SoXtInputFocus, SoXtRenderArea

Definition at line 85 of file SoXtDevice.h.

Constructor & Destructor Documentation

◆ ~SoXtDevice()

virtual SoXtDevice::~SoXtDevice ( )
inlinevirtual

Definition at line 122 of file SoXtDevice.h.

Member Function Documentation

◆ disable()

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.

◆ enable()

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.

◆ getWindowSize()

const SbVec2s & SoXtDevice::getWindowSize ( ) const
inline

Gets the size of the window this device is registered for.

Definition at line 120 of file SoXtDevice.h.

◆ setWindowSize()

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.

Definition at line 116 of file SoXtDevice.h.

◆ translateEvent()

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.


The documentation for this class was generated from the following file: