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
|
| Margin const & | getMargin () const |
| | Amount of space (in pixels) to draw around the full scrollbar (includes handles).
|
| double | getOffsetPercent () const |
| ParamID | getOffsetPercentTag () const |
| | id for the parameter tied to offset percent
|
| EOrientation | getOrientation () const |
| | Is the scrollbar vertical or horizontal.
|
| const CColor & | getScrollbarColor () const |
| | the color of the scrollbar itself (the rectangle)
|
| CCoord | getScrollbarGutterSpacing () const |
| | Spacing (in pixels) between the scrollbar and zoom handles (only drawn when zoom handles).
|
| CCoord | getScrollbarMinSize () const |
| | Minimum size for the scrollbar (in pixels). If -1 it will be auto-computed.
|
| 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.
|
| const CColor & | getZoomHandlesColor () const |
| | Zoom handles color.
|
| CCoord | getZoomHandlesSize () const |
| | Zoom handles size. If -1 it will be auto-computed. Set to 0 to disable handles entirely.
|
| double | getZoomPercent () const |
| ParamID | getZoomPercentTag () const |
| | id for the parameter tied to zoom percent
|
| | ScrollbarView (const CRect &iSize) |
| void | setEnableZoomDoubleClick (bool iEnableZoomDoubleClick) |
| void | setMargin (Margin const &iMargin) |
| void | setOffsetPercent (double iOffsetPercent) |
| void | setOffsetPercentTag (ParamID offsetPercentTag) |
| void | setOrientation (EOrientation iOrientation) |
| void | setScrollbarColor (const CColor &iColor) |
| void | setScrollbarGutterSpacing (CCoord iScrollbarGutterSpacing) |
| void | setScrollbarMinSize (CCoord iScrollbarMinSize) |
| void | setShiftDragFactor (Range const &iShiftDragFactor) |
| | Attribute shift-drag-factor.
|
| 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).
|
| | 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.
|
| virtual void | drawBackColor (CDrawContext *iContext) |
| | Draws the back color (if not set to transparent).
|
| void | drawStyleChanged () |
| | Called when the draw style is changed (simply marks the view dirty).
|
| CColor const & | getBackColor () const |
| | The back color (background) for the view.
|
| TagID | getCustomViewTag () const |
| | The tag associated to this custom view.
|
| bool | getEditorMode () const |
| | A flag whose purpose is to render/log information during development when the flag is set to true.
|
| void | markDirty () |
| | Marks this view dirty which will (at the appropriate time in the rendering lifecycle) trigger a call to draw().
|
| void | setBackColor (CColor const &iColor) |
| void | setCustomViewTag (TagID iTag) |
| void | setEditorMode (bool iEditorMode) |
| virtual void | initState (GUIState *iGUIState) |
| | Called during initialization.
|
| void | invokeAll () |
| | Invoke all (currently) registered callbacks and onParameterChange() (if registered).
|
| IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback) |
| | Registers a callback for the "base" param for the most generic use case.
|
| IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback1< IGUIParam > iChangeCallback, bool iInvokeCallback) |
| | Registers a callback for the "base" param for the most generic use case.
|
| 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.
|
| 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).
|
| 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).
|
| 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).
|
| 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).
|
| GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| | Registers a raw parameter (no conversion).
|
| GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false) |
| | Registers a raw parameter (no conversion).
|
| 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).
|
| 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).
|
| 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.
|
| 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.
|
| 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.
|
| 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.
|
| 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.
|
| 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.
|
| 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.
|
| GUIOptionalParam< int32 > | registerOptionalDiscreteParam (ParamID iParamID, int32 iStepCount, bool iSubscribeToChanges=true) |
| | Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all.
|
| template<typename T> |
| GUIOptionalParam< T > | registerOptionalParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| | Registers an optional parameter which handles Vst, Jmb or no parameter at all.
|
| 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).
|
| 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).
|
| GUIRawVstParam | registerParam (RawVstParam const &iParamDef, bool iSubscribeToChanges=true) |
| | Registers a raw parameter (no conversion).
|
| 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).
|
| 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.
|
| 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.
|
| 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).
|
| 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.
|
| 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.
|
| 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).
|
| GUIVstParam< Percent > | registerVstPercentParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| void | unregisterAll () |
| | Unregisters all parameters.
|
| template<typename T> |
| GUIJmbParam< T > | unregisterParam (GUIJmbParam< T > const &iParam) |
| | Removes the registration of the provided param (closing the connection/stopping to listen).
|
| GUIRawVstParam | unregisterParam (GUIRawVstParam const &iParam) |
| | Removes the registration of the provided param (closing the connection/stopping to listen).
|
| template<typename T> |
| GUIVstParam< T > | unregisterParam (GUIVstParam< T > const &iParam) |
| | Removes the registration of the provided param (closing the connection/stopping to listen).
|
| bool | unregisterParam (ParamID iParamID) |
| | Removes the registration of the provided param (closing the connection/stopping to listen).
|
| virtual | ~ParamAware () |
| virtual | ~ICustomViewLifecycle ()=default |
| | Destructor (virtual / requirement for interface).
|
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 percentage (0 means completely left (resp. top), 1 means completely right (resp. bottom))
- zoomPercent which represents the size of the scrollbar as a percentage (0 means completely zoomed out (hence the scrollbar is full), 1 means completely zoomed in (hence the scrollbar is at its minimum size)).
The scrollbar can either be vertical or horizontal (see orientation attribute).
In addition to the attributes exposed by CustomView, this class exposes the following attributes:
| Attribute | Description |
| orientation | Is the scrollbar vertical or horizontal.
|
| 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
|