VCV Rack API v2
|
A clickable button with text. More...
#include <Button.hpp>
Public Member Functions | |
Button () | |
void | draw (const DrawArgs &args) override |
Draws the widget to the NanoVG context. | |
void | onDragStart (const DragStartEvent &e) override |
void | onDragEnd (const DragEndEvent &e) override |
void | onDragDrop (const DragDropEvent &e) override |
Public Member Functions inherited from rack::widget::OpaqueWidget | |
void | onHover (const HoverEvent &e) override |
void | onButton (const ButtonEvent &e) override |
void | onHoverKey (const HoverKeyEvent &e) override |
void | onHoverText (const HoverTextEvent &e) override |
void | onHoverScroll (const HoverScrollEvent &e) override |
void | onDragHover (const DragHoverEvent &e) override |
void | onPathDrop (const PathDropEvent &e) override |
Public Member Functions inherited from rack::widget::Widget | |
virtual | ~Widget () |
math::Rect | getBox () |
void | setBox (math::Rect box) |
Calls setPosition() and then setSize(). | |
math::Vec | getPosition () |
void | setPosition (math::Vec pos) |
Sets position and triggers RepositionEvent if position changed. | |
math::Vec | getSize () |
void | setSize (math::Vec size) |
Sets size and triggers ResizeEvent if size changed. | |
widget::Widget * | getParent () |
bool | isVisible () |
void | setVisible (bool visible) |
Sets visible and triggers ShowEvent or HideEvent if changed. | |
void | show () |
Makes Widget visible and triggers ShowEvent if changed. | |
void | hide () |
Makes Widget not visible and triggers HideEvent if changed. | |
void | requestDelete () |
Requests this Widget's parent to delete it in the next step(). | |
virtual math::Rect | getChildrenBoundingBox () |
Returns the smallest rectangle containing this widget's children (visible and invisible) in its local coordinates. | |
virtual math::Rect | getVisibleChildrenBoundingBox () |
bool | isDescendantOf (Widget *ancestor) |
Returns whether ancestor is a parent or distant parent of this widget. | |
virtual math::Vec | getRelativeOffset (math::Vec v, Widget *ancestor) |
Returns v (given in local coordinates) transformed into the coordinate system of ancestor . | |
math::Vec | getAbsoluteOffset (math::Vec v) |
Returns v transformed into world/root/global/absolute coordinates. | |
virtual float | getRelativeZoom (Widget *ancestor) |
Returns the zoom level in the coordinate system of ancestor . | |
float | getAbsoluteZoom () |
virtual math::Rect | getViewport (math::Rect r=math::Rect::inf()) |
Returns a subset of the given Rect bounded by the box of this widget and all ancestors. | |
template<class T > | |
T * | getAncestorOfType () |
template<class T > | |
T * | getFirstDescendantOfType () |
bool | hasChild (Widget *child) |
Checks if the given widget is a child of this widget. | |
void | addChild (Widget *child) |
Adds widget to the top of the children. | |
void | addChildBottom (Widget *child) |
Adds widget to the bottom of the children. | |
void | addChildBelow (Widget *child, Widget *sibling) |
Adds widget directly below another widget. | |
void | addChildAbove (Widget *child, Widget *sibling) |
void | removeChild (Widget *child) |
Removes widget from list of children if it exists. | |
void | clearChildren () |
Removes and deletes all child Widgets. | |
virtual void | step () |
Advances the module by one frame. | |
virtual DEPRECATED void | draw (NVGcontext *vg) |
Override draw(const DrawArgs &args) instead. | |
virtual void | drawLayer (const DrawArgs &args, int layer) |
Draw additional layers. | |
void | drawChild (Widget *child, const DrawArgs &args, int layer=0) |
Draws a particular child. | |
template<typename TMethod , class TEvent > | |
void | recurseEvent (TMethod f, const TEvent &e) |
Recurses an event to all visible Widgets. | |
template<typename TMethod , class TEvent > | |
void | recursePositionEvent (TMethod f, const TEvent &e) |
Recurses an event to all visible Widgets until it is consumed. | |
virtual void | onDoubleClick (const DoubleClickEvent &e) |
virtual void | onEnter (const EnterEvent &e) |
virtual void | onLeave (const LeaveEvent &e) |
virtual void | onSelect (const SelectEvent &e) |
virtual void | onDeselect (const DeselectEvent &e) |
virtual void | onSelectKey (const SelectKeyEvent &e) |
virtual void | onSelectText (const SelectTextEvent &e) |
virtual void | onDragMove (const DragMoveEvent &e) |
virtual void | onDragEnter (const DragEnterEvent &e) |
virtual void | onDragLeave (const DragLeaveEvent &e) |
virtual void | onAction (const ActionEvent &e) |
virtual void | onChange (const ChangeEvent &e) |
virtual void | onDirty (const DirtyEvent &e) |
virtual void | onReposition (const RepositionEvent &e) |
virtual void | onResize (const ResizeEvent &e) |
virtual void | onAdd (const AddEvent &e) |
virtual void | onRemove (const RemoveEvent &e) |
virtual void | onShow (const ShowEvent &e) |
virtual void | onHide (const HideEvent &e) |
virtual void | onContextCreate (const ContextCreateEvent &e) |
virtual void | onContextDestroy (const ContextDestroyEvent &e) |
Public Member Functions inherited from rack::WeakBase | |
~WeakBase () | |
size_t | getWeakCount () |
Public Attributes | |
std::string | text |
Quantity * | quantity = NULL |
Not owned. | |
Public Attributes inherited from rack::widget::Widget | |
math::Rect | box = math::Rect(math::Vec(), math::Vec(INFINITY, INFINITY)) |
Position relative to parent and size of widget. | |
Widget * | parent = NULL |
Automatically set when Widget is added as a child to another Widget. | |
std::list< Widget * > | children |
bool | visible = true |
Disables rendering but allow stepping. | |
bool | requestedDelete = false |
If set to true, parent will delete Widget in the next step(). | |
Public Attributes inherited from rack::WeakBase | |
WeakHandle * | weakHandle = nullptr |
Additional Inherited Members | |
Public Types inherited from rack::widget::Widget | |
using | BaseEvent = widget::BaseEvent |
A clickable button with text.
Dispatches Action event when clicked.
If quantity is set, its value is set to 1.0 when pressed, 0.0 when released.
If text is not set, the quantity label is used.
rack::ui::Button::Button | ( | ) |
|
overridevirtual |
Draws the widget to the NanoVG context.
When overriding, call the superclass's draw(args)
to recurse to children.
Reimplemented from rack::widget::Widget.
Reimplemented in rack::ui::ChoiceButton, rack::ui::OptionButton, and rack::ui::RadioButton.
|
overridevirtual |
Reimplemented from rack::widget::Widget.
Reimplemented in rack::ui::RadioButton.
|
overridevirtual |
Reimplemented from rack::widget::Widget.
Reimplemented in rack::ui::RadioButton.
|
overridevirtual |
Reimplemented from rack::widget::Widget.
Reimplemented in rack::ui::RadioButton.
std::string rack::ui::Button::text |
Quantity* rack::ui::Button::quantity = NULL |
Not owned.
Tracks the pressed state of the button.