47 #if (defined(GLSGEN_EXPORT_GlsKnob) || \
48 defined(GLSGEN_IMPORT_GlsKnob) || \
49 defined(GLS_EXPORT_GENERATED) || \
50 defined(GLS_IMPORT_GENERATED)) \
52 # if defined(GLSGEN_EXPORT_GlsKnob) || defined(GLS_EXPORT_GENERATED)
53 # define GLSGEN_GlsKnob_EXPORT __declspec(dllexport)
55 # define GLSGEN_GlsKnob_EXPORT __declspec(dllimport)
58 # define GLSGEN_GlsKnob_EXPORT
62 # define LIB_BASE_NAME "gls_knob"
70 GLS_GLSKNOB_CHANGE_CALLBACK = GLS_LAST_INITIALIZER+1,
71 GLS_GLSKNOB_ANGLERANGE,
72 GLS_GLSKNOB_CONTINUOUS,
73 GLS_GLSKNOB_POSITIONVAL,
74 GLS_GLSKNOB_DETENTPOSITIONS,
75 GLS_GLSKNOB_WHICHOBJECT,
76 GLS_GLSKNOB_STARTANGLE,
77 GLS_GLSKNOB_EMITDETENTVALEVENT,
78 GLS_GLSKNOB_EMITPOSITIONVALEVENT,
79 GLS_GLSKNOB_EMITLIMITEVENT,
80 GLS_GLSKNOB_EMITRELEASEEVENT,
81 GLS_GLSKNOB_SHOWDETENTSONLY,
82 GLS_GLSKNOB_CLICKSELECTSDETENT
89 friend class GlsKnobEditor;
99 bool _emitDetentValEvent;
100 bool _emitPositionValEvent;
125 GLSGEN_GlsKnob_EXPORT
GlsKnob(
bool generateInstance=
false);
127 GLSGEN_GlsKnob_EXPORT
GlsKnob(
const GlsKnob& that,
const bool generateNames );
130 virtual GLSGEN_GlsKnob_EXPORT
~GlsKnob();
132 static GLSGEN_GlsKnob_EXPORT
DisplayObject *CreateInstance();
140 virtual GLSGEN_GlsKnob_EXPORT
void Draw(
void);
151 virtual GLSGEN_GlsKnob_EXPORT
void SetValue(
int spec,va_list &args);
179 virtual GLSGEN_GlsKnob_EXPORT
void DetentVal(
const int& value );
184 virtual GLSGEN_GlsKnob_EXPORT
int DetentVal();
189 virtual GLSGEN_GlsKnob_EXPORT
void PositionVal(
const float& value );
199 virtual GLSGEN_GlsKnob_EXPORT
void WhichObject(
const int& value );
207 bool _showDetentsOnly;
208 bool _clickSelectsDetent;
210 bool _emitLimitEvent;
211 bool _emitReleaseEvent;
214 int _initialDetentVal;
215 float _mouseDownoX, _mouseDownoY, _mouseDownoZ;
216 Vector _mouseDownDirectionVector;
217 float _mouseDownAngle;
218 float _mouseLastAngle;
223 GLSGEN_GlsKnob_EXPORT
float CalcRotationAngle();
226 unsigned int _currentCursor;
232 virtual GLS_EXPORT
void SetFromGloData(GlsGloFileAttribute &data);
237 GlsKnob& operator=(
const GlsKnob& ) DISTI_SPECIAL_MEM_FUN_DELETE ;
bool EmitLimitEvent()
Definition: gls_knob.h:115
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:173
The disti::Group class. Implements groups of objects.
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:281
virtual DisplayObject * CloneObject(bool generateNames=false)
virtual void SetAvailableAttributes(unsigned int value)
bool EmitDetentValEvent()
Definition: gls_knob.h:105
DisplayObject * handle(DisplayEvent *ev)
bool EmitReleaseEvent()
Definition: gls_knob.h:120
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
GlsKnob(bool generateInstance=false)
bool EmitPositionValEvent()
Definition: gls_knob.h:110
bool ShowDetentsOnly()
Definition: gls_knob.h:165
void ShowDetentsOnly(const bool &value)
Definition: gls_knob.h:161
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
void ClickSelectsDetent(const bool &value)
Definition: gls_knob.h:169
Macros and helper code to determine what subset of C++11/14/17 is available.
Definition: gls_knob.h:86
Definition: bmpimage.h:46
virtual int WhichObject()