47 #if( defined( GLSGEN_EXPORT_GlsKnob ) || defined( GLSGEN_IMPORT_GlsKnob ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
48 && defined( _MSC_VER )
49 # if defined( GLSGEN_EXPORT_GlsKnob ) || defined( GLS_EXPORT_GENERATED )
50 # define GLSGEN_GlsKnob_EXPORT __declspec( dllexport )
52 # define GLSGEN_GlsKnob_EXPORT __declspec( dllimport )
55 # define GLSGEN_GlsKnob_EXPORT
59 #define LIB_BASE_NAME "gls_knob"
67 GLS_GLSKNOB_CHANGE_CALLBACK = GLS_LAST_INITIALIZER + 1,
68 GLS_GLSKNOB_ANGLERANGE,
69 GLS_GLSKNOB_CONTINUOUS,
70 GLS_GLSKNOB_POSITIONVAL,
71 GLS_GLSKNOB_DETENTPOSITIONS,
72 GLS_GLSKNOB_WHICHOBJECT,
73 GLS_GLSKNOB_STARTANGLE,
74 GLS_GLSKNOB_EMITDETENTVALEVENT,
75 GLS_GLSKNOB_EMITPOSITIONVALEVENT,
76 GLS_GLSKNOB_EMITLIMITEVENT,
77 GLS_GLSKNOB_EMITRELEASEEVENT,
78 GLS_GLSKNOB_SHOWDETENTSONLY,
79 GLS_GLSKNOB_CLICKSELECTSDETENT
86 friend class GlsKnobEditor;
96 bool _emitDetentValEvent;
97 bool _emitPositionValEvent;
122 GLSGEN_GlsKnob_EXPORT
GlsKnob(
bool generateInstance =
false );
124 GLSGEN_GlsKnob_EXPORT
GlsKnob(
const GlsKnob& that,
const bool generateNames );
127 virtual GLSGEN_GlsKnob_EXPORT
~GlsKnob();
129 static GLSGEN_GlsKnob_EXPORT
DisplayObject* CreateInstance();
137 virtual GLSGEN_GlsKnob_EXPORT
void Draw(
void );
148 virtual GLSGEN_GlsKnob_EXPORT
void SetValue(
int spec, va_list& args );
175 virtual GLSGEN_GlsKnob_EXPORT
void DetentVal(
const int& value );
180 virtual GLSGEN_GlsKnob_EXPORT
int DetentVal();
185 virtual GLSGEN_GlsKnob_EXPORT
void PositionVal(
const float& value );
195 virtual GLSGEN_GlsKnob_EXPORT
void WhichObject(
const int& value );
203 bool _showDetentsOnly;
204 bool _clickSelectsDetent;
206 bool _emitLimitEvent;
207 bool _emitReleaseEvent;
210 int _initialDetentVal;
211 float _mouseDownoX, _mouseDownoY, _mouseDownoZ;
212 Vector _mouseDownDirectionVector;
213 float _mouseDownAngle;
214 float _mouseLastAngle;
219 GLSGEN_GlsKnob_EXPORT
float CalcRotationAngle();
222 unsigned int _currentCursor;
233 GlsKnob& operator=(
const GlsKnob& ) DISTI_SPECIAL_MEM_FUN_DELETE;
bool EmitLimitEvent()
Definition: gls_knob.h:112
virtual void CopyProperties(DisplayObject *src)
virtual void SetValue(int spec, va_list &args)
virtual float PositionVal()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
bool ClickSelectsDetent()
Definition: gls_knob.h:169
The disti::Group class. Implements groups of objects.
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:276
virtual DisplayObject * CloneObject(bool generateNames=false)
virtual void SetAvailableAttributes(unsigned int value)
bool EmitDetentValEvent()
Definition: gls_knob.h:102
Definition: gls_glo_file.h:982
DisplayObject * handle(DisplayEvent *ev)
bool EmitReleaseEvent()
Definition: gls_knob.h:117
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
GlsKnob(bool generateInstance=false)
bool EmitPositionValEvent()
Definition: gls_knob.h:107
bool ShowDetentsOnly()
Definition: gls_knob.h:161
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
void ClickSelectsDetent(const bool &value)
Definition: gls_knob.h:165
Macros and helper code to determine what subset of C++11/14/17 is available.
Definition: gls_knob.h:83
Definition: bmpimage.h:46
virtual int WhichObject()