|
Jamba C++ API 7.5.0
|
Class you should inherit from if you want to write a custom view. More...
#include <CustomView.h>
Inherits CView, ParamAware, and ICustomViewLifecycle.
Inherited by StateAwareView< CustomView, TGUIState >, CustomControlView, ImageView, and ScrollbarView.
Classes | |
| class | Creator |
| Defines and registers the attributes exposed in the VSTGUI Editor and XML file (.uidesc) for CustomView. More... | |
Public Member Functions | |
| 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 | onParameterChange (ParamID iParamID) override |
| Callback when a parameter changes. | |
| void | setBackColor (CColor const &iColor) |
| void | setCustomViewTag (TagID iTag) |
| void | setEditorMode (bool iEditorMode) |
| Public Member Functions inherited from ParamAware | |
| virtual void | initState (GUIState *iGUIState) |
| Called during initialization. | |
| void | invokeAll () |
| Invoke all (currently) registered callbacks and onParameterChange() (if registered). | |
| void | onParameterChange (ParamID iParamID) override |
| This is the callback that should be implemented to handle parameter changes. | |
| 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). | |
| virtual void | registerParameters () |
| Subclasses should override this method to register each parameter. | |
| 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 () |
| Public Member Functions inherited from ICustomViewLifecycle | |
| virtual | ~ICustomViewLifecycle ()=default |
| Destructor (virtual / requirement for interface). | |
Protected Member Functions | |
| bool | sizeToFit (BitmapPtr iBitmap, int iFrameCount=1) |
| Convenient call to size to fit this view to match the bitmap. | |
| void | sizeToFit (CCoord iWidth, CCoord iHeight) |
| Convenient call to size to fit this view according to the and height provided. | |
Protected Attributes | |
| CColor | fBackColor |
| ParamID | fTag |
| Protected Attributes inherited from ParamAware | |
| std::unique_ptr< GUIParamCxMgr > | fParamCxMgr {} |
Class you should inherit from if you want to write a custom view.
It offers the following functionalities:
In general, when inheriting from this class you will typically override:
In addition to the attributes exposed by CView, this class exposes the following attributes:
| Attribute | Description |
|---|---|
| custom-view-tag | The tag associated to this custom view. This tag (which is not related to a parameter), is optional and can be used to differentiate between views when implementing a custom controller. // Example
CView *SampleEditController::verifyView(CView *iView,
const UIAttributes &iAttributes,
const IUIDescription *iDescription)
{
if(button) {
switch(button->getCustomViewTag()) {
case ESampleSplitterParamID::kNormalize0Action:
initButton(button, SampleDataAction::Type::kNormalize0, false);
break;
// ....
}
}
}
Extension of the CTextButton view to add more functionality. Definition TextButtonView.h:49 |
| editor-mode | A flag whose purpose is to render/log information during development when the flag is set to true. It can be flipped directly in the VSTGUI Editor without having to recompile the code. // Example
void SampleEditView::draw(CDrawContext *iContext) {
// ...
#if EDITOR_MODE
if(getEditorMode())
{
rdc.debug("SampleRange: [%.3f,%.3f] | PixelRange: [%.3f,%.3f] | Visible: [%.3f,%.3f] | BPM: %f",
fState->fWESelectedSampleRange->fFrom, fState->fWESelectedSampleRange->fTo,
fSelectedPixelRange.fFrom, fSelectedPixelRange.fTo,
fVisibleSampleRange.fFrom, fVisibleSampleRange.fTo,
fHostInfo->fTempo);
}
#endif
}
Encapsulates the draw context provided by VSTGUI to reason in relative coordinates (0,... Definition DrawContext.h:170 bool getEditorMode() const A flag whose purpose is to render/log information during development when the flag is set to true. Definition CustomView.cpp:108
|
| back-color | The back color (background) for the view. The draw() method in this class simply delegates to drawBackColor() which paints the background of the view with this color (if not set to transparent). |
|
explicit |
|
delete |
|
inlineoverridevirtual |
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).
Reimplemented from ICustomViewLifecycle.
|
override |
The basic draw method which will erase the background with the back color.
You override this method to implement your additional own logic.
|
virtual |
Draws the back color (if not set to transparent).
| void drawStyleChanged | ( | ) |
Called when the draw style is changed (simply marks the view dirty).
|
inline |
The back color (background) for the view.
The draw() method in this class simply delegates to drawBackColor() which paints the background of the view with this color (if not set to transparent).
|
inline |
The tag associated to this custom view.
This tag (which is not related to a parameter), is optional and can be used to differentiate between views when implementing a custom controller.
| bool getEditorMode | ( | ) | const |
A flag whose purpose is to render/log information during development when the flag is set to true.
It can be flipped directly in the VSTGUI Editor without having to recompile the code.
|
inline |
Marks this view dirty which will (at the appropriate time in the rendering lifecycle) trigger a call to draw().
|
overridevirtual |
Callback when a parameter changes.
By default simply marks the view as dirty. This method is intended to be overriden to implement specific behavior.
Implements Parameters::IChangeListener.
Reimplemented in ScrollbarView.
| void setBackColor | ( | CColor const & | iColor | ) |
|
inline |
| void setEditorMode | ( | bool | iEditorMode | ) |
|
inlineprotected |
Convenient call to size to fit this view to match the bitmap.
|
inlineprotected |
Convenient call to size to fit this view according to the and height provided.
|
protected |
|
protected |