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
60#define LIB_BASE_NAME "gls_knob"
68 GLS_GLSKNOB_CHANGE_CALLBACK = GLS_LAST_INITIALIZER + 1,
69 GLS_GLSKNOB_ANGLERANGE,
70 GLS_GLSKNOB_CONTINUOUS,
71 GLS_GLSKNOB_POSITIONVAL,
72 GLS_GLSKNOB_DETENTPOSITIONS,
73 GLS_GLSKNOB_WHICHOBJECT,
74 GLS_GLSKNOB_STARTANGLE,
75 GLS_GLSKNOB_EMITDETENTVALEVENT,
76 GLS_GLSKNOB_EMITPOSITIONVALEVENT,
77 GLS_GLSKNOB_EMITLIMITEVENT,
78 GLS_GLSKNOB_EMITRELEASEEVENT,
79 GLS_GLSKNOB_SHOWDETENTSONLY,
80 GLS_GLSKNOB_CLICKSELECTSDETENT
87 friend class GlsKnobEditor;
88 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
Definition: dynamic_array.h:79
Definition: gls_glo_file.h:1243
Definition: gls_knob.h:85
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
GlsKnob(bool generateInstance=false)
float _mouseDownoY
Y position of the last mouse down in logical coordinates.
Definition: gls_knob.h:219
bool _emitDetentValEvent
If true, will emit an event when snapping to a detent.
Definition: gls_knob.h:99
bool _atCcwStop
If true, the knob has reached its counter clockwise most position.
Definition: gls_knob.h:225
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
int _numDetents
Number of detents, snap points of the knob.
Definition: gls_knob.h:93
unsigned int _currentCursor
The current cursor used for interaction. Any other cursors are ignored while interacting.
Definition: gls_knob.h:233
void ShowDetentsOnly(const bool &value)
bool _sideMode
If true, the knob is being viewed at or almost side on.
Definition: gls_knob.h:227
float CalcRotationAngle()
float _startAngle
An angle offset from the begining position.
Definition: gls_knob.h:98
DynamicArray< float > _detentPositions
Range 0-100.
Definition: gls_knob.h:94
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
bool _continuous
If true, the knob can spin all the way around.
Definition: gls_knob.h:96
bool EmitPositionValEvent()
Definition: gls_knob.h:114
bool _atCwStop
If true, the knob has reached its clockwise most position.
Definition: gls_knob.h:224
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
void ClickSelectsDetent(const bool &value)
Definition: gls_knob.h:173
float _mouseDownoZ
Z position of the last mouse down in logical coordinates.
Definition: gls_knob.h:220
GlsKnob(const GlsKnob &that, const bool generateNames)
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
float _mouseDownAngle
Rotation angle of the knob when the mouse was pressed.
Definition: gls_knob.h:222
int _initialDetentVal
Stores the initial detent position based on the starting rotation.
Definition: gls_knob.h:217
bool _mouseWasDown
If true, the mouse was clicked on a previous frame.
Definition: gls_knob.h:232
virtual void PositionVal(const float &value)
bool ClickSelectsDetent()
Definition: gls_knob.h:176
bool _emitPositionValEvent
If true, will emit an event when the position is changed.
Definition: gls_knob.h:100
DisplayObject * handle(DisplayEvent *ev) DISTI_METHOD_OVERRIDE
virtual void WhichObject(const int &value)
static DisplayObject * CreateInstance()
virtual float PositionVal()
bool _clickSelectsDetent
If true, clicking on a detent will snap the knob to that detent.
Definition: gls_knob.h:211
bool _emitReleaseEvent
If true, an event will be emitted when the knob is released (mouse up).
Definition: gls_knob.h:214
virtual void DetentVal(const int &value)
Vector _mouseDownDirectionVector
Unused, kept for backward compatibility.
Definition: gls_knob.h:221
void EmitLimitEvent(const bool &value)
float _angleRange
In degrees.
Definition: gls_knob.h:92
bool ShowDetentsOnly()
Definition: gls_knob.h:169
bool _showDetentsOnly
If true, knob will only rotate to exact detents, nothing in between.
Definition: gls_knob.h:210
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
bool EmitDetentValEvent()
Definition: gls_knob.h:107
void EmitReleaseEvent(const bool &value)
void EmitPositionValEvent(const bool &value)
float _positionVal
Current knob position.
Definition: gls_knob.h:95
bool _emitLimitEvent
If true, an event will be emitted when the knob reaches its upper or lower limit.
Definition: gls_knob.h:213
bool EmitReleaseEvent()
Definition: gls_knob.h:128
float _mouseDownoX
X position of the last mouse down in logical coordinates.
Definition: gls_knob.h:218
bool EmitLimitEvent()
Definition: gls_knob.h:121
virtual int WhichObject()
int _whichObject
The object index in the group to be the knob.
Definition: gls_knob.h:97
float _mouseLastAngle
The rotation angle of the knob on the previous frame.
Definition: gls_knob.h:223
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
Macros and helper code to determine what subset of C++11/14/17 is available.
#define DISTI_SPECIAL_MEM_FUN_DELETE
Macro to wrap function deletion, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:235
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:457
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
#define GLS_EXPORT
Macro denoting which functions should be visible from the runtime library.
Definition: gls_include.h:52
#define GLSGEN_GlsKnob_EXPORT
Provides support for creating DLLs.
Definition: gls_knob.h:55
The disti::Group class. Implements groups of objects.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47