![]() |
VCV Rack API v2
|
A FramebufferWidget that can be drawn on with OpenGL commands. More...
#include <OpenGlWidget.hpp>
Public Member Functions | |
| void | step () override |
| Draws every frame by default Override this and call FramebufferWidget::step() to restore the default behavior of FramebufferWidget. | |
| void | drawFramebuffer () override |
| Draws to the framebuffer. | |
| Public Member Functions inherited from rack::widget::FramebufferWidget | |
| FramebufferWidget () | |
| ~FramebufferWidget () | |
| void | setDirty (bool dirty=true) |
| Requests to re-render children to the framebuffer on the next draw(). | |
| int | getImageHandle () |
| NVGLUframebuffer * | getFramebuffer () |
| math::Vec | getFramebufferSize () |
| void | deleteFramebuffer () |
| void | draw (const DrawArgs &args) override |
| Draws the framebuffer to the NanoVG scene, re-rendering it if necessary. | |
| void | render (math::Vec scale=math::Vec(1, 1), math::Vec offsetF=math::Vec(0, 0), math::Rect clipBox=math::Rect::inf()) |
| Re-renders the framebuffer, re-creating it if necessary. | |
| void | onDirty (const DirtyEvent &e) override |
| void | onContextCreate (const ContextCreateEvent &e) override |
| void | onContextDestroy (const ContextDestroyEvent &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 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 | 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 | 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) |
| Public Member Functions inherited from rack::WeakBase | |
| ~WeakBase () | |
| size_t | getWeakCount () |
Additional Inherited Members | |
| Public Types inherited from rack::widget::Widget | |
| using | BaseEvent = widget::BaseEvent |
| Public Attributes inherited from rack::widget::FramebufferWidget | |
| Internal * | internal |
| bool | dirty = true |
| bool | bypassed = false |
| float | oversample = 1.0 |
| bool | dirtyOnSubpixelChange = true |
| Redraw when the world offset of the FramebufferWidget changes its fractional value. | |
| math::Vec | viewportMargin = math::Vec(INFINITY, INFINITY) |
| If finite, the maximum size of the framebuffer is the viewport expanded by this margin. | |
| 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 |
A FramebufferWidget that can be drawn on with OpenGL commands.
|
overridevirtual |
Draws every frame by default Override this and call FramebufferWidget::step() to restore the default behavior of FramebufferWidget.
Reimplemented from rack::widget::FramebufferWidget.
|
overridevirtual |
Draws to the framebuffer.
Override to initialize, draw, and flush the OpenGL state.
Reimplemented from rack::widget::FramebufferWidget.