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;
87 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
98 bool _emitDetentValEvent;
99 bool _emitPositionValEvent;
124 GLSGEN_GlsKnob_EXPORT
GlsKnob(
bool generateInstance =
false );
126 GLSGEN_GlsKnob_EXPORT
GlsKnob(
const GlsKnob& that,
const bool generateNames );
129 virtual GLSGEN_GlsKnob_EXPORT
~GlsKnob();
131 static GLSGEN_GlsKnob_EXPORT
DisplayObject* CreateInstance();
139 virtual GLSGEN_GlsKnob_EXPORT
void Draw(
void );
150 virtual GLSGEN_GlsKnob_EXPORT
void SetValue(
int spec, va_list& args );
177 virtual GLSGEN_GlsKnob_EXPORT
void DetentVal(
const int& value );
182 virtual GLSGEN_GlsKnob_EXPORT
int DetentVal();
187 virtual GLSGEN_GlsKnob_EXPORT
void PositionVal(
const float& value );
197 virtual GLSGEN_GlsKnob_EXPORT
void WhichObject(
const int& value );
205 bool _showDetentsOnly;
206 bool _clickSelectsDetent;
208 bool _emitLimitEvent;
209 bool _emitReleaseEvent;
212 int _initialDetentVal;
213 float _mouseDownoX, _mouseDownoY, _mouseDownoZ;
214 Vector _mouseDownDirectionVector;
215 float _mouseDownAngle;
216 float _mouseLastAngle;
221 GLSGEN_GlsKnob_EXPORT
float CalcRotationAngle();
224 unsigned int _currentCursor;
235 GlsKnob& operator=(
const GlsKnob& ) DISTI_SPECIAL_MEM_FUN_DELETE;
bool EmitLimitEvent()
Definition: gls_knob.h:114
virtual void CopyProperties(DisplayObject *src)
virtual void SetValue(int spec, va_list &args)
virtual float PositionVal()
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:436
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
bool ClickSelectsDetent()
Definition: gls_knob.h:171
The disti::Group class. Implements groups of objects.
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:296
virtual DisplayObject * CloneObject(bool generateNames=false)
virtual void SetAvailableAttributes(unsigned int value)
bool EmitDetentValEvent()
Definition: gls_knob.h:104
Definition: gls_glo_file.h:988
DisplayObject * handle(DisplayEvent *ev)
bool EmitReleaseEvent()
Definition: gls_knob.h:119
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
GlsKnob(bool generateInstance=false)
bool EmitPositionValEvent()
Definition: gls_knob.h:109
bool ShowDetentsOnly()
Definition: gls_knob.h:163
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
void ClickSelectsDetent(const bool &value)
Definition: gls_knob.h:167
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()