VCV Rack API
v2
Loading...
Searching...
No Matches
CableWidget.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <map>
3
#include <
app/common.hpp
>
4
#include <
widget/Widget.hpp
>
5
#include <
app/PortWidget.hpp
>
6
#include <
engine/Cable.hpp
>
7
8
9
namespace
rack
{
10
namespace
app {
11
12
13
struct
PlugWidget;
14
15
16
struct
CableWidget
:
widget::Widget
{
17
struct
Internal;
18
Internal*
internal
;
19
21
engine::Cable
*
cable
= NULL;
22
NVGcolor
color
;
23
PlugWidget*
inputPlug
;
24
PlugWidget*
outputPlug
;
25
26
PortWidget
*
inputPort
= NULL;
27
PortWidget
*
outputPort
= NULL;
28
PortWidget
*
hoveredInputPort
= NULL;
29
PortWidget
*
hoveredOutputPort
= NULL;
30
31
CableWidget
();
32
~CableWidget
();
33
bool
isComplete
();
35
void
updateCable
();
40
void
setCable
(
engine::Cable
*
cable
);
41
engine::Cable
*
getCable
();
42
math::Vec
getInputPos
();
43
math::Vec
getOutputPos
();
44
void
mergeJson
(json_t* rootJ);
45
void
fromJson
(json_t* rootJ);
46
void
step
()
override
;
47
void
draw
(
const
DrawArgs
& args)
override
;
48
void
drawLayer
(
const
DrawArgs
& args,
int
layer)
override
;
49
engine::Cable
*
releaseCable
();
50
};
51
52
53
}
// namespace app
54
}
// namespace rack
Cable.hpp
PortWidget.hpp
Widget.hpp
common.hpp
rack
Root namespace for the Rack API.
Definition
AudioDisplay.hpp:9
rack::app::CableWidget
Definition
CableWidget.hpp:16
rack::app::CableWidget::fromJson
void fromJson(json_t *rootJ)
rack::app::CableWidget::outputPlug
PlugWidget * outputPlug
Definition
CableWidget.hpp:24
rack::app::CableWidget::internal
Internal * internal
Definition
CableWidget.hpp:18
rack::app::CableWidget::getInputPos
math::Vec getInputPos()
rack::app::CableWidget::step
void step() override
Advances the module by one frame.
rack::app::CableWidget::drawLayer
void drawLayer(const DrawArgs &args, int layer) override
Draw additional layers.
rack::app::CableWidget::~CableWidget
~CableWidget()
rack::app::CableWidget::getOutputPos
math::Vec getOutputPos()
rack::app::CableWidget::isComplete
bool isComplete()
rack::app::CableWidget::CableWidget
CableWidget()
rack::app::CableWidget::outputPort
PortWidget * outputPort
Definition
CableWidget.hpp:27
rack::app::CableWidget::hoveredInputPort
PortWidget * hoveredInputPort
Definition
CableWidget.hpp:28
rack::app::CableWidget::releaseCable
engine::Cable * releaseCable()
rack::app::CableWidget::inputPort
PortWidget * inputPort
Definition
CableWidget.hpp:26
rack::app::CableWidget::inputPlug
PlugWidget * inputPlug
Definition
CableWidget.hpp:23
rack::app::CableWidget::color
NVGcolor color
Definition
CableWidget.hpp:22
rack::app::CableWidget::hoveredOutputPort
PortWidget * hoveredOutputPort
Definition
CableWidget.hpp:29
rack::app::CableWidget::updateCable
void updateCable()
Based on the input/output ports, re-creates the cable and removes/adds it to the Engine.
rack::app::CableWidget::mergeJson
void mergeJson(json_t *rootJ)
rack::app::CableWidget::getCable
engine::Cable * getCable()
rack::app::CableWidget::setCable
void setCable(engine::Cable *cable)
From a cable, sets the input/output ports.
rack::app::CableWidget::cable
engine::Cable * cable
Owned.
Definition
CableWidget.hpp:21
rack::app::CableWidget::draw
void draw(const DrawArgs &args) override
Draws the widget to the NanoVG context.
rack::app::PortWidget
Manages an engine::Port on a ModuleWidget.
Definition
PortWidget.hpp:14
rack::engine::Cable
Definition
Cable.hpp:10
rack::math::Vec
2-dimensional vector of floats, representing a point on the plane for graphics.
Definition
math.hpp:189
rack::widget::Widget::DrawArgs
Definition
Widget.hpp:141
rack::widget::Widget
A node in the 2D scene graph.
Definition
Widget.hpp:21
include
app
CableWidget.hpp
Generated by
1.10.0