'\"! tbl | mmdoc '\"macro stdmacro .ie n \{\ . ds Cr \fB . ds Cb \fB .\} .el \{\ . ds Cr \f7 . ds Cb \f8 .\} .TH SoXtSpaceball(3IV) .SH NAME SoXtSpaceball \(em translates and reports events for the spaceball .SH INHERITS FROM SoXtDevice > SoXtSpaceball .SH SYNOPSIS .ps -1 \*(Cr#include .sp .in 0.5i \*(Crenum \*(CbMask\*(Cr { .in 1i .ta 24m .in 1.5i+24n .ti 1i .ta 24m .ds Pt \*(CbSoXtSpaceball::MOTION\f1 .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Spaceball translation and rotation events .br .in 1.5i+24n .ti 1i .ta 24m .ds Pt \*(CbSoXtSpaceball::PRESS\f1 .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Spaceball button press events .br .in 1.5i+24n .ti 1i .ta 24m .ds Pt \*(CbSoXtSpaceball::RELEASE\f1 .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Spaceball button release events .br .in 1.5i+24n .ti 1i .ta 24m .ds Pt \*(CbSoXtSpaceball::ALL\f1 .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} All spaceball events .br .in 0.5i \*(Cr} .sp .in 1i \f1Methods from class SoXtSpaceball: .in 0.5i .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtSpaceball\*(Cr(SoXtSpaceball::Mask mask = SoXtSpaceball::ALL) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtSpaceball\*(Cr(Display *d, SoXtSpaceball::Mask mask = SoXtSpaceball::ALL) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cb~SoXtSpaceball\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetRotationScaleFactor\*(Cr(float f) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crfloat .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetRotationScaleFactor\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetTranslationScaleFactor\*(Cr(float f) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crfloat .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetTranslationScaleFactor\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic SbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbexists\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic SbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbexists\*(Cr(Display *d) .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 class manages events generated by the spaceball, including spaceball motion (\*(CbSoMotion3Event\f1), and spaceball button press and release events (\*(CbSoSpaceballButtonEvent\f1). .SH METHODS .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtSpaceball\*(Cr(SoXtSpaceball::Mask mask = SoXtSpaceball::ALL) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtSpaceball\*(Cr(Display *d, SoXtSpaceball::Mask mask = SoXtSpaceball::ALL) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Cr .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cb~SoXtSpaceball\*(Cr() .br .in 1i \f1Constructor and destructor. Pass to the constructor an enumerated value specifying which spaceball events are of interest. Only those events will be reported to the callback routine registered on each widget. \&The first constructor uses the X display which was set in \*(CbSoXt::init()\f1. .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetRotationScaleFactor\*(Cr(float f) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crfloat .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetRotationScaleFactor\*(Cr() const .br .in 1i \f1Set and get the rotation scale factor. The scale factor is applied to the rotation value generated by the spaceball device. The default rotation scale factor is .006. .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetTranslationScaleFactor\*(Cr(float f) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crfloat .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetTranslationScaleFactor\*(Cr() const .br .in 1i \f1Set and get the translation scale factor. The scale factor is applied to the translation value generated by the spaceball device. The default translation scale factor is .006. .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic SbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbexists\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic SbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbexists\*(Cr(Display *d) .br .in 1i \f1This returns TRUE if the spaceball exists, either on the X display which was set in \*(CbSoXt::init()\f1, or on the passed display. .sp .in 0.5i .SH SEE ALSO \*(CbSoXt, SoXtDevice, SoMotion3Event, SoSpaceballButtonEvent