| 
							- #pragma once
 - #include "app/common.hpp"
 - #include "widget/OpaqueWidget.hpp"
 - #include "app/PortWidget.hpp"
 - #include "app/ModuleWidget.hpp"
 - #include "engine/Cable.hpp"
 - #include <map>
 - 
 - 
 - namespace rack {
 - namespace app {
 - 
 - 
 - struct CableWidget : widget::OpaqueWidget {
 - 	PortWidget *outputPort = NULL;
 - 	PortWidget *inputPort = NULL;
 - 	PortWidget *hoveredOutputPort = NULL;
 - 	PortWidget *hoveredInputPort = NULL;
 - 	engine::Cable *cable;
 - 	NVGcolor color;
 - 
 - 	CableWidget();
 - 	~CableWidget();
 - 	bool isComplete();
 - 	void setOutput(PortWidget *outputPort);
 - 	void setInput(PortWidget *inputPort);
 - 	math::Vec getOutputPos();
 - 	math::Vec getInputPos();
 - 	json_t *toJson();
 - 	void fromJson(json_t *rootJ, const std::map<int, ModuleWidget*> &moduleWidgets);
 - 	void draw(const widget::DrawContext &ctx) override;
 - 	void drawPlugs(const widget::DrawContext &ctx);
 - };
 - 
 - 
 - } // namespace app
 - } // namespace rack
 
 
  |