'\"! tbl | mmdoc '\"macro stdmacro .ie n \{\ . ds Cr \fB . ds Cb \fB .\} .el \{\ . ds Cr \f7 . ds Cb \f8 .\} .TH SoXtDevice(3IV) .SH NAME SoXtDevice \(em abstract base class device for use with the \*(CbSoXtRenderArea\f1 .SH INHERITS FROM SoXtDevice .SH SYNOPSIS .ps -1 \*(Cr#include .sp .in 1i \f1Methods from class SoXtDevice: .in 0.5i .sp .ta 25m .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbenable\*(Cr(Widget w, XtEventHandler f, XtPointer data, Window win = NULL) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbdisable\*(Cr(Widget w, XtEventHandler f, XtPointer data) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual const SoEvent * .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbtranslateEvent\*(Cr(XAnyEvent *xevent) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetWindowSize\*(Cr(const SbVec2s &size) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crconst SbVec2s & .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetWindowSize\*(Cr() const .sp .SH DESCRIPTION This is the abstract base class for devices in the Inventor Xt component and utility library. When a device is registered with an \*(CbSoXtRenderArea\f1, the device is able to generate events in the render area window. .SH METHODS .ta 25m .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbenable\*(Cr(Widget w, XtEventHandler f, XtPointer data, Window win = NULL) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbdisable\*(Cr(Widget w, XtEventHandler f, XtPointer data) .br .in 1i \f1Enable and disable the device for the passed widget. When enabled, the callback function \*(Crf\f1 will be invoked when events occur in the widget. \*(Crdata\f1 is the \*(CrclientData\f1 which will be passed. .sp .in 0.5i .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvirtual const SoEvent * .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbtranslateEvent\*(Cr(XAnyEvent *xevent) .br .in 1i \f1This attempts to convert the passed X event into an \*(CbSoEvent\f1. If the event was not generated by this device, then NULL is returned. .sp .in 0.5i .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetWindowSize\*(Cr(const SbVec2s &size) .br .in 1i+25n .ti 0.5i .ta 25m .ds Pt \*(Crconst SbVec2s & .ie \w'\*(Pt'>=25n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetWindowSize\*(Cr() const .br .in 1i \f1Set 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). (\*(CbSoXtRenderArea\f1 will automatically call this method for each device registered on it whenever the window size changes.) .sp .in 0.5i .SH SEE ALSO \*(CbSoXtMouse, SoXtKeyboard, SoXtSpaceball, SoXtInputFocus, SoXtRenderArea