2 #include <Process/Dataflow/PortFactory.hpp>
3 #include <Process/LayerPresenter.hpp>
4 #include <Process/LayerView.hpp>
6 #include <score/graphics/GraphicsLayout.hpp>
7 #include <score/model/Skin.hpp>
20 std::vector<score::GraphicsLayout*> createdLayouts{};
25 std::pair<Process::ControlInlet*, QGraphicsItem*> makeInlet(
int index);
26 std::pair<Process::ControlOutlet*, QGraphicsItem*> makeOutlet(
int index);
27 QGraphicsItem* makeLabel(std::string_view item);
29 void finalizeLayout(QGraphicsItem* rootItem);
34 auto& skin = score::Skin::instance();
36 if constexpr(requires { T::darker; })
38 return skin.Background2.darker300;
41 if constexpr(requires { T::dark; })
43 return skin.Background2.darker;
46 if constexpr(requires { T::mid; })
48 return skin.Background2.main;
51 if constexpr(requires { T::light; })
53 return skin.Background2.lighter;
56 if constexpr(requires { T::lighter; })
58 return skin.Background2.lighter180;
60 return skin.Background2.main;
63 template <
typename Item>
66 if constexpr(requires { Item::background(); })
68 if constexpr(requires { std::string_view{Item::background()}; })
69 item.setBackground(Item::background());
71 item.setBrush(get_brush(Item::background()));
75 requires { Item::width(); } && requires { Item::height(); })
77 item.setRect({0., 0., (qreal)Item::width(), (qreal)Item::height()});
80 requires { Item::width; } && requires { Item::height; })
82 item.setRect({0., 0., (qreal)it.width, (qreal)it.height});
86 template <
typename Item>
87 void setupItem(
const Item& it, QGraphicsItem& item)
89 item.setParentItem(layout);
91 requires { Item::x(); } && requires { Item::y(); })
93 item.setPos(Item::x(), Item::y());
96 requires { Item::x; } && requires { Item::y; })
98 item.setPos(it.x, it.y);
101 if constexpr(requires { Item::scale(); })
103 item.setScale(Item::scale());
105 else if constexpr(requires { Item::scale; })
107 item.setScale(it.scale);
Definition: score-lib-process/Process/Dataflow/Port.hpp:202
Definition: score-lib-process/Process/Dataflow/Port.hpp:415
Definition: PortFactory.hpp:65
Definition: GraphicsLayout.hpp:10
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Definition: ProcessContext.hpp:12
Definition: PortForward.hpp:23
Definition: plugins/score-lib-process/Control/Layout.hpp:11
Definition: PortForward.hpp:27