VCV Rack API v2
rack::app::SvgPanel Struct Reference

#include <SvgPanel.hpp>

Inheritance diagram for rack::app::SvgPanel:
[legend]
Collaboration diagram for rack::app::SvgPanel:
[legend]

Public Member Functions

 SvgPanel ()
 
void step () override
 Advances the module by one frame. More...
 
void setBackground (std::shared_ptr< window::Svg > svg)
 
- 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 void draw (const DrawArgs &args)
 Draws the widget to the NanoVG context. 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 onHover (const HoverEvent &e)
 
virtual void onButton (const ButtonEvent &e)
 
virtual void onDoubleClick (const DoubleClickEvent &e)
 
virtual void onHoverKey (const HoverKeyEvent &e)
 
virtual void onHoverText (const HoverTextEvent &e)
 
virtual void onHoverScroll (const HoverScrollEvent &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 onDragHover (const DragHoverEvent &e)
 
virtual void onDragEnter (const DragEnterEvent &e)
 
virtual void onDragLeave (const DragLeaveEvent &e)
 
virtual void onDragDrop (const DragDropEvent &e)
 
virtual void onPathDrop (const PathDropEvent &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

widget::FramebufferWidgetfb
 
widget::SvgWidgetsw
 
PanelBorderpanelBorder
 
std::shared_ptr< window::Svgsvg
 
- 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

◆ SvgPanel()

rack::app::SvgPanel::SvgPanel ( )

Member Function Documentation

◆ step()

void rack::app::SvgPanel::step ( )
overridevirtual

Advances the module by one frame.

Reimplemented from rack::widget::Widget.

◆ setBackground()

void rack::app::SvgPanel::setBackground ( std::shared_ptr< window::Svg svg)

Member Data Documentation

◆ fb

widget::FramebufferWidget* rack::app::SvgPanel::fb

◆ sw

widget::SvgWidget* rack::app::SvgPanel::sw

◆ panelBorder

PanelBorder* rack::app::SvgPanel::panelBorder

◆ svg

std::shared_ptr<window::Svg> rack::app::SvgPanel::svg

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