StoneyVCV v2
StoneyDSP Modules for VCV Rack 2.
Loading...
Searching...
No Matches
Widget.hpp
Go to the documentation of this file.
1
31#pragma once
32
33#define STONEYVCV_COMPONENTLIBRARY_PANELWIDGET_HPP_INCLUDED 1
34
35#if defined (STONEYVCV_BUILD_COMPONENTLIBRARY)
36
37//==============================================================================
38
39#include <StoneyVCV.hpp>
41
42//==============================================================================
43
44#include <rack.hpp>
45#include <StoneyDSP/Core.hpp>
46
47//==============================================================================
48
49namespace StoneyDSP
50{
55//==============================================================================
56
57namespace StoneyVCV
58{
63//==============================================================================
64
65namespace ComponentLibrary
66{
71//==============================================================================
72
77struct ThemedWidget : virtual ::rack::widget::Widget
78{
79
80 //==========================================================================
81
82public:
83
84 using DrawArgs = ::rack::widget::Widget::DrawArgs;
85
86 //==========================================================================
87
92 ThemedWidget();
93
98 virtual ~ThemedWidget();
99
100 //==========================================================================
101
106 virtual void step() override;
107
113 void drawThemedBg(const ::StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::DrawArgs &args);
114
121 virtual void draw(const ::StoneyDSP::StoneyVCV::ComponentLibrary::ThemedWidget::DrawArgs &args) override;
122
123 //==========================================================================
124
125private:
126
127 //==========================================================================
128
133 ::rack::FramebufferWidget *fb;
134
139 ::rack::app::PanelBorder *panelBorder;
140
141 //==========================================================================
142
143 STONEYDSP_DECLARE_NON_COPYABLE(ThemedWidget)
144 STONEYDSP_DECLARE_NON_MOVEABLE(ThemedWidget)
145};
146
147//==============================================================================
148
150} // namespace ComponentLibrary
151
152//==============================================================================
153
155} // namespace StoneyVCV
156
157//==============================================================================
158
160} // namespace StoneyDSP
161
162//==============================================================================
163
164#endif // STONEYVCV_BUILD_COMPONENTLIBRARY
165
166//==============================================================================
StoneyDSP Modules for VCV Rack 2.
StoneyDSP Modules for VCV Rack 2.
The StoneyDSP namespace.
Definition StoneyVCV.hpp:58