Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
SoXtDevice Class Referenceabstract

The SoXtDevice class is the base class for the translation devices. More...

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

Inheritance diagram for SoXtDevice:
SoXtObject SoXtKeyboard SoXtMouse

Public Member Functions

virtual ~SoXtDevice ()
 
virtual void enable (Widget w, SoXtEventHandler *handler, void *closure)=0
 
virtual void disable (Widget w, SoXtEventHandler *handler, void *closure)=0
 
virtual const SoEvent * translateEvent (XAnyEvent *event)=0
 
void setWindowSize (const SbVec2s size)
 
SbVec2s getWindowSize (void) const
 
- Public Member Functions inherited from SoXtObject
virtual SoType getTypeId (void) const =0
 
SbBool isOfType (SoType type) const
 

Static Public Member Functions

static void initClasses (void)
 
- Static Public Member Functions inherited from SoXtObject
static void initClass (void)
 
static SoType getClassTypeId (void)
 
static void init (void)
 

Protected Member Functions

 SoXtDevice (void)
 
void setEventPosition (SoEvent *event, int x, int y) const
 
void addEventHandler (Widget, SoXtEventHandler *, void *)
 
void removeEventHandler (Widget, SoXtEventHandler *, void *)
 
void invokeHandlers (XAnyEvent *event)
 

Static Protected Member Functions

static SbVec2s getLastEventPosition (void)
 

Detailed Description

The SoXtDevice class is the base class for the translation devices.

The SoXt device classes provide glue functionality for translating native GUI events from the underlying toolkit to Inventor scenegraph SoEvent events.

The device classes are mainly of interest to application programmers when writing extensions for new types of devices, and seldom in other contexts – so they can most often be ignored.

Constructor & Destructor Documentation

◆ ~SoXtDevice()

SoXtDevice::~SoXtDevice ( )
virtual

Public virtual destructor.

◆ SoXtDevice()

SoXtDevice::SoXtDevice ( void  )
protected

Constructor. Protected to only enable invocation from derived device classes.

Member Function Documentation

◆ enable()

void SoXtDevice::enable ( Widget  widget,
SoXtEventHandler *  handler,
void *  closure 
)
pure virtual

This method will enable the device for the widget.

handler is invoked with the closure argument when an event occur in widget.

Implemented in SoXtMouse, and SoXtKeyboard.

◆ disable()

void SoXtDevice::disable ( Widget  widget,
SoXtEventHandler *  handler,
void *  closure 
)
pure virtual

This method will disable the handler for the device.

Implemented in SoXtMouse, and SoXtKeyboard.

◆ translateEvent()

const SoEvent * SoXtDevice::translateEvent ( XAnyEvent *  event)
pure virtual

This method translates from native events to Open Inventor SoEvent events.

Implemented in SoXtMouse, and SoXtKeyboard.

◆ setWindowSize()

void SoXtDevice::setWindowSize ( const SbVec2s  size)

This method sets the cached size of the window the device is "attached" to.

◆ getWindowSize()

SbVec2s SoXtDevice::getWindowSize ( void  ) const

This method returns the cached window size.

◆ initClasses()

void SoXtDevice::initClasses ( void  )
static

This function initializes the type system for all the SoXt device classes. It is called indirectly when calling SoXt::init(), so the application programmer doesn't have to bother with it.

◆ setEventPosition()

void SoXtDevice::setEventPosition ( SoEvent *  event,
int  x,
int  y 
) const
protected

This method fills in the position information of event, translating the coordinates into the correct coordinate system.

◆ getLastEventPosition()

SbVec2s SoXtDevice::getLastEventPosition ( void  )
staticprotected

Returns last event position that was set with SoXtDevice::setEventPosition().

◆ addEventHandler()

void SoXtDevice::addEventHandler ( Widget  widget,
SoXtEventHandler *  handler,
void *  closure 
)
protected

Stores an event handler for the widget, which can later be invoked with SoXtDevice::invokeHandlers(). Used by extension device types.

◆ removeEventHandler()

void SoXtDevice::removeEventHandler ( Widget  widget,
SoXtEventHandler *  handler,
void *  closure 
)
protected

Remove a handler registered with SoXtDevice::addEventHandler().

◆ invokeHandlers()

void SoXtDevice::invokeHandlers ( XAnyEvent *  event)
protected

Invoke all handlers registered with SoXtDevice::addEventHandler().


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