VCV Rack API v2
rack::ui::Menu Struct Reference

#include <Menu.hpp>

Inheritance diagram for rack::ui::Menu:
[legend]
Collaboration diagram for rack::ui::Menu:
[legend]

Public Member Functions

 Menu ()
 
 ~Menu ()
 
void setChildMenu (Menu *menu)
 
void step () override
 Advances the module by one frame. More...
 
void draw (const DrawArgs &args) override
 Draws the widget to the NanoVG context. More...
 
void onHoverScroll (const HoverScrollEvent &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)
 
math::Vec getPosition ()
 
void setPosition (math::Vec pos)
 
math::Vec getSize ()
 
void setSize (math::Vec size)
 
widget::WidgetgetParent ()
 
bool isVisible ()
 
void setVisible (bool visible)
 
void show ()
 
void hide ()
 
void requestDelete ()
 
virtual math::Rect getChildrenBoundingBox ()
 Returns the smallest rectangle containing this widget's children (visible and invisible) in its local coordinates. More...
 
virtual math::Rect getVisibleChildrenBoundingBox ()
 
bool isDescendantOf (Widget *ancestor)
 Returns whether ancestor is a parent or distant parent of this widget. More...
 
virtual math::Vec getRelativeOffset (math::Vec v, Widget *ancestor)
 Returns v (given in local coordinates) transformed into the coordinate system of ancestor. More...
 
math::Vec getAbsoluteOffset (math::Vec v)
 Returns v transformed into world/root/global/absolute coordinates. More...
 
virtual float getRelativeZoom (Widget *ancestor)
 Returns the zoom level in the coordinate system of ancestor. More...
 
float getAbsoluteZoom ()
 
virtual math::Rect getViewport (math::Rect r)
 Returns a subset of the given Rect bounded by the box of this widget and all ancestors. More...
 
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. More...
 
void addChild (Widget *child)
 Adds widget to the top of the children. More...
 
void addChildBottom (Widget *child)
 Adds widget to the bottom of the children. More...
 
void addChildBelow (Widget *child, Widget *sibling)
 Adds widget directly below another widget. More...
 
void addChildAbove (Widget *child, Widget *sibling)
 
void removeChild (Widget *child)
 Removes widget from list of children if it exists. More...
 
void clearChildren ()
 Removes and deletes all children. More...
 
virtual DEPRECATED void draw (NVGcontext *vg)
 Override draw(const DrawArgs &args) instead. More...
 
virtual void drawLayer (const DrawArgs &args, int layer)
 Draw additional layers. More...
 
void drawChild (Widget *child, const DrawArgs &args, int layer=0)
 Draws a particular child. More...
 
template<typename TMethod , class TEvent >
void recurseEvent (TMethod f, const TEvent &e)
 Recurses an event to all visible Widgets. More...
 
template<typename TMethod , class TEvent >
void recursePositionEvent (TMethod f, const TEvent &e)
 Recurses an event to all visible Widgets until it is consumed. More...
 
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 onDragStart (const DragStartEvent &e)
 
virtual void onDragEnd (const DragEndEvent &e)
 
virtual void onDragMove (const DragMoveEvent &e)
 
virtual void onDragEnter (const DragEnterEvent &e)
 
virtual void onDragLeave (const DragLeaveEvent &e)
 
virtual void onDragDrop (const DragDropEvent &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

MenuparentMenu = NULL
 
MenuchildMenu = NULL
 
MenuEntryactiveEntry = NULL
 The entry which created the child menu. More...
 
BNDcornerFlags cornerFlags = BND_CORNER_NONE
 
- 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. More...
 
Widgetparent = NULL
 Automatically set when Widget is added as a child to another Widget. More...
 
std::list< Widget * > children
 
bool visible = true
 Disables rendering but allow stepping. More...
 
bool requestedDelete = false
 If set to true, parent will delete Widget in the next step(). More...
 
- Public Attributes inherited from rack::WeakBase
WeakHandleweakHandle = nullptr
 

Additional Inherited Members

- Public Types inherited from rack::widget::Widget
using BaseEvent = widget::BaseEvent
 

Constructor & Destructor Documentation

◆ Menu()

rack::ui::Menu::Menu ( )

◆ ~Menu()

rack::ui::Menu::~Menu ( )

Member Function Documentation

◆ setChildMenu()

void rack::ui::Menu::setChildMenu ( Menu menu)

◆ step()

void rack::ui::Menu::step ( )
overridevirtual

Advances the module by one frame.

Reimplemented from rack::widget::Widget.

◆ draw()

void rack::ui::Menu::draw ( const DrawArgs args)
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.

◆ onHoverScroll()

void rack::ui::Menu::onHoverScroll ( const HoverScrollEvent e)
overridevirtual

Reimplemented from rack::widget::Widget.

Member Data Documentation

◆ parentMenu

Menu* rack::ui::Menu::parentMenu = NULL

◆ childMenu

Menu* rack::ui::Menu::childMenu = NULL

◆ activeEntry

MenuEntry* rack::ui::Menu::activeEntry = NULL

The entry which created the child menu.

◆ cornerFlags

BNDcornerFlags rack::ui::Menu::cornerFlags = BND_CORNER_NONE

The documentation for this struct was generated from the following file: