StoneyVCV v2
StoneyDSP Modules for VCV Rack 2.
Loading...
Searching...
No Matches
StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget Struct Reference

The ThemedWidget struct. More...

#include <Widget.hpp>

Inheritance diagram for StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget:
[legend]
Collaboration diagram for StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget:
[legend]

Classes

struct  PrefersDarkPanelsChangeEvent
 Occurs after the prefersDarkPanels setting is changed. More...
 

Public Types

using DrawArgs = ::StoneyDSP::StoneyVCV::ComponentLibrary::Widget::DrawArgs
 
- Public Types inherited from StoneyDSP::StoneyVCV::ComponentLibrary::Widget
using DrawArgs = ::rack::widget::Widget::DrawArgs
 

Public Member Functions

 ThemedWidget ()
 Construct a new ThemedWidget object.
 
 ThemedWidget (::rack::math::Rect newBox)
 Construct a new ThemedWidget object with its' position and size set using a rack::math::Rect.
 
virtual ~ThemedWidget () noexcept
 Destroys the ThemedWidget object.
 
virtual void step () override
 Advances the module by one frame.
 
virtual void draw (const ::StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::DrawArgs &args) override
 Draws a themed background color to the widget's NanoVG context.
 
const boolgetPrefersDarkPanels () const noexcept
 
virtual void onPrefersDarkPanelsChange (const PrefersDarkPanelsChangeEvent &e)
 Called after the prefersDarkPanels setting is changed.
 
- Public Member Functions inherited from StoneyDSP::StoneyVCV::ComponentLibrary::Widget
 Widget ()
 Construct a new Widget object.
 
 Widget (::rack::math::Rect newBox)
 Construct a new Widget object with its' position and size set using a rack::math::Rect.
 
virtual ~Widget () noexcept
 Destroys the Widget object.
 
virtual void onPixelRatioChange (const PixelRatioChangeEvent &e)
 Called after the App->window->pixelRatio setting is changed.
 
const floatgetPixelRatio () const noexcept
 

Protected Attributes

bool lastPrefersDarkPanels = {::rack::settings::preferDarkPanels}
 
- Protected Attributes inherited from StoneyDSP::StoneyVCV::ComponentLibrary::Widget
::rack::math::Rect box = ::rack::math::Rect(::rack::math::Vec(), ::rack::math::Vec(INFINITY, INFINITY))
 Position relative to parent and size of Widget.
 
::rack::Widget * parent = NULL
 Automatically set when Widget is added as a child to another Widget.
 
::std::list<::rack::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().
 
float lastPixelRatio = { rack::contextGet() ->window->pixelRatio}
 
const floatpixelRatioPtr = NULL
 

Private Member Functions

 ThemedWidget (const ThemedWidget &)=delete
 
ThemedWidgetoperator= (const ThemedWidget &)=delete
 
 ThemedWidget (ThemedWidget &&)=delete
 
ThemedWidgetoperator= (ThemedWidget &&)=delete
 

Private Attributes

const boolprefersDarkPanelsPtr = NULL
 {&::rack::settings::preferDarkPanels};
 

Detailed Description

The ThemedWidget struct.

Member Typedef Documentation

◆ DrawArgs

Constructor & Destructor Documentation

◆ ThemedWidget() [1/4]

StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::ThemedWidget ( )

Construct a new ThemedWidget object.

◆ ThemedWidget() [2/4]

StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::ThemedWidget ( ::rack::math::Rect  newBox)

Construct a new ThemedWidget object with its' position and size set using a rack::math::Rect.

◆ ~ThemedWidget()

virtual StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::~ThemedWidget ( )
virtualnoexcept

Destroys the ThemedWidget object.

◆ ThemedWidget() [3/4]

StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::ThemedWidget ( const ThemedWidget )
privatedelete

◆ ThemedWidget() [4/4]

StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::ThemedWidget ( ThemedWidget &&  )
privatedelete

Member Function Documentation

◆ step()

virtual void StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::step ( )
overridevirtual

Advances the module by one frame.

Calls the superclass's step() to recurse the children.

Reimplemented from StoneyDSP::StoneyVCV::ComponentLibrary::Widget.

Reimplemented in StoneyDSP::StoneyVCV::ComponentLibrary::ThemedPanelWidget, and StoneyDSP::StoneyVCV::VCA::VCAPanelWidget.

◆ draw()

virtual void StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::draw ( const ::StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::DrawArgs args)
overridevirtual

Draws a themed background color to the widget's NanoVG context.

Calls the superclass's draw(args) to recurse to children.

Parameters
args

Reimplemented from StoneyDSP::StoneyVCV::ComponentLibrary::Widget.

Reimplemented in StoneyDSP::StoneyVCV::ComponentLibrary::ThemedPanelWidget, and StoneyDSP::StoneyVCV::VCA::VCAPanelWidget.

◆ getPrefersDarkPanels()

const bool & StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::getPrefersDarkPanels ( ) const
noexcept

◆ onPrefersDarkPanelsChange()

virtual void StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::onPrefersDarkPanelsChange ( const PrefersDarkPanelsChangeEvent e)
inlinevirtual

Called after the prefersDarkPanels setting is changed.

Sub-classes can override this to receive callbacks when the event is dispatched (from the ThemedWidget::step() method).

Parameters
e

Reimplemented in StoneyDSP::StoneyVCV::ComponentLibrary::ThemedPanelWidget.

◆ operator=() [1/2]

ThemedWidget & StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::operator= ( const ThemedWidget )
privatedelete

◆ operator=() [2/2]

ThemedWidget & StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::operator= ( ThemedWidget &&  )
privatedelete

Member Data Documentation

◆ lastPrefersDarkPanels

bool StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::lastPrefersDarkPanels = {::rack::settings::preferDarkPanels}
protected

◆ prefersDarkPanelsPtr

const bool* StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::prefersDarkPanelsPtr = NULL
private

{&::rack::settings::preferDarkPanels};


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