Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://coin3d.github.io
https://www.kongsberg.com/en/kogt/
SoWinDevice Class Referenceabstract

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

#include <Inventor/Win/devices/SoWinDevice.h>

Inheritance diagram for SoWinDevice:
SoWinObject SoWinKeyboard SoWinMouse

Public Member Functions

virtual ~SoWinDevice ()
 
virtual void enable (HWND w, SoWinEventHandler *handler, void *closure)=0
 
virtual void disable (HWND w, SoWinEventHandler *handler, void *closure)=0
 
virtual const SoEventtranslateEvent (MSG *event)=0
 
void setWindowSize (const SbVec2s size)
 
SbVec2s getWindowSize (void) const
 
- Public Member Functions inherited from SoWinObject
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 SoWinObject
static void initClass (void)
 
static SoType getClassTypeId (void)
 
static void init (void)
 

Protected Member Functions

 SoWinDevice (void)
 
void setEventPosition (SoEvent *event, int x, int y) const
 
void addEventHandler (HWND, SoWinEventHandler *, void *)
 
void removeEventHandler (HWND, SoWinEventHandler *, void *)
 
void invokeHandlers (MSG *event)
 

Static Protected Member Functions

static SbVec2s getLastEventPosition (void)
 

Detailed Description

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

The SoWin device classes provide glue functionality for translating native GUI events from the underlying toolkit to Inventor scene graph 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

◆ ~SoWinDevice()

SoWinDevice::~SoWinDevice ( )
virtual

Public virtual destructor.

◆ SoWinDevice()

SoWinDevice::SoWinDevice ( void  )
protected

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

Member Function Documentation

◆ enable()

void SoWinDevice::enable ( HWND  widget,
SoWinEventHandler *  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 SoWinMouse, and SoWinKeyboard.

◆ disable()

void SoWinDevice::disable ( HWND  widget,
SoWinEventHandler *  handler,
void *  closure 
)
pure virtual

This method will disable the handler for the device.

Implemented in SoWinMouse, and SoWinKeyboard.

◆ translateEvent()

const SoEvent * SoWinDevice::translateEvent ( MSG *  event)
pure virtual

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

Implemented in SoWinMouse, and SoWinKeyboard.

◆ setWindowSize()

void SoWinDevice::setWindowSize ( const SbVec2s  size)

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

◆ getWindowSize()

SbVec2s SoWinDevice::getWindowSize ( void  ) const

This method returns the cached window size.

◆ initClasses()

void SoWinDevice::initClasses ( void  )
static

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

◆ setEventPosition()

void SoWinDevice::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 SoWinDevice::getLastEventPosition ( void  )
staticprotected

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

◆ addEventHandler()

void SoWinDevice::addEventHandler ( HWND  widget,
SoWinEventHandler *  handler,
void *  closure 
)
protected

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

◆ removeEventHandler()

void SoWinDevice::removeEventHandler ( HWND  widget,
SoWinEventHandler *  handler,
void *  closure 
)
protected

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

◆ invokeHandlers()

void SoWinDevice::invokeHandlers ( MSG *  event)
protected

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


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