Generic scrollbar which handles scrolling and (optional) zooming via handles.
More...
|
void | draw (CDrawContext *iContext) override |
|
bool | getEnableZoomDoubleClick () const |
| true to allow zooming on double click on the scrollbar More...
|
|
Margin const & | getMargin () const |
| Amount of space (in pixels) to draw around the full scrollbar (includes handles) More...
|
|
double | getOffsetPercent () const |
|
ParamID | getOffsetPercentTag () const |
| id for the parameter tied to offset percent More...
|
|
const CColor & | getScrollbarColor () const |
| the color of the scrollbar itself (the rectangle) More...
|
|
CCoord | getScrollbarGutterSpacing () const |
| Spacing (in pixels) between the scrollbar and zoom handles (only drawn when zoom handles) More...
|
|
CCoord | getScrollbarMinSize () const |
| Minimum size for the scrollbar (in pixels). If -1 it will be auto-computed. More...
|
|
Range const & | getShiftDragFactor () const |
| Defines how much to slow down (if less than 1) or accelerate (if more than 1) when shift is held when dragging. More...
|
|
const CColor & | getZoomHandlesColor () const |
| Zoom handles color. More...
|
|
CCoord | getZoomHandlesSize () const |
| Zoom handles size. If -1 it will be auto-computed. Set to 0 to disable handles entirely. More...
|
|
double | getZoomPercent () const |
|
ParamID | getZoomPercentTag () const |
| id for the parameter tied to zoom percent More...
|
|
| ScrollbarView (const CRect &iSize) |
|
void | setEnableZoomDoubleClick (bool iEnableZoomDoubleClick) |
|
void | setMargin (Margin const &iMargin) |
|
void | setOffsetPercent (double iOffsetPercent) |
|
void | setOffsetPercentTag (ParamID offsetPercentTag) |
|
void | setScrollbarColor (const CColor &iColor) |
|
void | setScrollbarGutterSpacing (CCoord iScrollbarGutterSpacing) |
|
void | setScrollbarMinSize (CCoord iScrollbarMinSize) |
|
void | setShiftDragFactor (Range const &iShiftDragFactor) |
| Attribute shift-drag-factor . More...
|
|
void | setZoomHandlesColor (const CColor &iColor) |
|
void | setZoomHandlesSize (CCoord iSize) |
|
void | setZoomPercent (double iZoomPercent) |
|
void | setZoomPercentTag (ParamID zoomPercentTag) |
|
bool | showHandles () const |
|
void | afterApplyAttributes () override |
| Handles the lifecycle behavior getting triggered once all the attributes have been set (which usually happens after the XML file (uidesc) has been read/processed, or when you modify attributes in the VSTGUI Editor). More...
|
|
| CustomView (const CRect &iSize) |
|
| CustomView (const CustomView &c)=delete |
|
void | draw (CDrawContext *iContext) override |
| The basic draw method which will erase the background with the back color. More...
|
|
virtual void | drawBackColor (CDrawContext *iContext) |
| Draws the back color (if not set to transparent) More...
|
|
void | drawStyleChanged () |
| Called when the draw style is changed (simply marks the view dirty) More...
|
|
CColor const & | getBackColor () const |
| The back color (background) for the view. More...
|
|
TagID | getCustomViewTag () const |
| The tag associated to this custom view. More...
|
|
bool | getEditorMode () const |
| A flag whose purpose is to render/log information during development when the flag is set to true . More...
|
|
void | markDirty () |
| Marks this view dirty which will (at the appropriate time in the rendering lifecycle) trigger a call to draw() More...
|
|
void | setBackColor (CColor const &iColor) |
|
void | setCustomViewTag (TagID iTag) |
|
void | setEditorMode (bool iEditorMode) |
|
virtual void | initState (GUIState *iGUIState) |
| Called during initialization. More...
|
|
void | invokeAll () |
| Invoke all (currently) registered callbacks and onParameterChange() (if registered). More...
|
|
IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback) |
| Registers a callback for the "base" param for the most generic use case. More...
|
|
IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback1< IGUIParam > iChangeCallback, bool iInvokeCallback) |
| Registers a callback for the "base" param for the most generic use case. More...
|
|
IGUIParam | registerBaseParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers the "base" param for the most generic use case but as a result is fairly limited and mainly gives access to the string representation of the param. More...
|
|
GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion). More...
|
|
GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion). More...
|
|
template<typename T > |
GUIVstParam< T > | registerCallback (VstParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Vst param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIVstParam< T > | registerCallback (VstParam< T > const &iParamDef, Parameters::ChangeCallback1< GUIVstParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Vst param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerCallback (JmbParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Jmb param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerCallback (JmbParam< T > const &iParamDef, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Jmb param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerCallback (GUIJmbParam< T > &iParam, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Jmb param simply by using the param from the state (accessible in state-aware views via fState->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerCallback (GUIJmbParam< T > &iParam, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Convenient call to register a callback for the Jmb param simply by using the param from the state (accessible in state-aware views via fState->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerJmbCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers a callback for the Jmb param by its id and return the wrapper to the param. More...
|
|
template<typename T > |
GUIJmbParam< T > | registerJmbCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Registers a callback for the Jmb param by its id and return the wrapper to the param. More...
|
|
template<typename T > |
GUIJmbParam< T > | registerJmbParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers the Jmb param by its id and return the wrapper to the param. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIOptionalParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIOptionalParam< int32 > | registerOptionalDiscreteCallback (ParamID iParamID, int32 iStepCount, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIOptionalParam< int32 > | registerOptionalDiscreteCallback (ParamID iParamID, int32 iStepCount, Parameters::ChangeCallback1< GUIOptionalParam< int32 >> iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIOptionalParam< int32 > | registerOptionalDiscreteParam (ParamID iParamID, int32 iStepCount, bool iSubscribeToChanges=true) |
| Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIRawVstParam | registerParam (RawVstParam const &iParamDef, bool iSubscribeToChanges=true) |
| Registers a raw parameter (no conversion). More...
|
|
template<typename T > |
GUIVstParam< T > | registerParam (VstParam< T > const &iParamDef, bool iSubscribeToChanges=true) |
| Convenient call to register a Vst param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerParam (JmbParam< T > const &iParamDef, bool iSubscribeToChanges=true) |
| Convenient call to register a Jmb param simply by using its description (accessible in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
GUIJmbParam< T > | registerParam (GUIJmbParam< T > &iParam, bool iSubscribeToChanges=true) |
| Convenient call to register a Jmb param simply by using the param from the state (accessible in state-aware views via fState->fMyParam ). More...
|
|
GUIRawVstParam | registerRawVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion) The callback will be invoked when the parameter changes. More...
|
|
GUIRawVstParam | registerRawVstCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion) The callback will be invoked when the parameter changes. More...
|
|
GUIRawVstParam | registerRawVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers a raw parameter (no conversion) onParameterChange() will be called on changes (if iSubscribeToChanges is set to true ). More...
|
|
GUIVstParam< bool > | registerVstBooleanParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
template<typename T > |
GUIVstParam< T > | registerVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Register a callback for a Vst parameter simply given its id The callback will be invoked when the parameter changes. More...
|
|
template<typename T > |
GUIVstParam< T > | registerVstCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIVstParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Register a callback for a Vst parameter simply given its id The callback will be invoked when the parameter changes. More...
|
|
template<typename T > |
GUIVstParam< T > | registerVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Register a Vst parameter simply given its id onParameterChange() will be called on changes (if iSubscribeToChanges is set to true ). More...
|
|
GUIVstParam< Percent > | registerVstPercentParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
void | unregisterAll () |
| Unregisters all parameters. More...
|
|
bool | unregisterParam (ParamID iParamID) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
GUIRawVstParam | unregisterParam (GUIRawVstParam const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
template<typename T > |
GUIVstParam< T > | unregisterParam (GUIVstParam< T > const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
template<typename T > |
GUIJmbParam< T > | unregisterParam (GUIJmbParam< T > const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
virtual | ~ParamAware () |
|
Generic scrollbar which handles scrolling and (optional) zooming via handles.
The scrollbar is driven by 2 parameters which can be tied to Vst or Jmb parameters:
offsetPercent
which represents the position of the scrollbar as a percent (0 means completely left, 1 means completely right)
zoomPercent
which represents the size of the scrollbar as a percent (0 means completely zoomed out (hence the scrollbar is full), 1 means completely zoomed in (hence the scrollbar is at its minimum size)). At the moment, it handles only horizontal scrollbar.
In addition to the attributes exposed by CustomView
, this class exposes the following attributes:
Attribute | Description |
offset-percent-tag | id for the parameter tied to offset percent |
zoom-percent-tag | id for the parameter tied to zoom percent |
margin | Amount of space (in pixels) to draw around the full scrollbar (includes handles) |
scrollbar-color | the color of the scrollbar itself (the rectangle) |
scrollbar-min-size | Minimum size for the scrollbar (in pixels). If -1 it will be auto-computed. |
scrollbar-gutter-spacing | Spacing (in pixels) between the scrollbar and zoom handles (only drawn when zoom handles) |
zoom-handles-color | Zoom handles color. |
zoom-handles-size | Zoom handles size. If -1 it will be auto-computed. Set to 0 to disable handles entirely. |
shift-drag-factor | Defines how much to slow down (if less than 1) or accelerate (if more than 1) when shift is held when dragging. - Note
- This attribute defines a range (which can be a degenerate range when both
from and to are the same) in the event you want the factor to vary depending on how zoomed the scrollbar is. For example: shift-drag-factor="0.01,0.5"
|
enable-zoom-double-click | true to allow zooming on double click on the scrollbar |