Loading...
Searching...
No Matches
EffectLayer.hpp
1#pragma once
2#include <Process/LayerPresenter.hpp>
3#include <Process/LayerView.hpp>
4
5#include <verdigris>
6
7class QAction;
8namespace score
9{
10class QGraphicsDraggablePixmap;
11}
12class QMenu;
13namespace Process
14{
15
16class SCORE_LIB_PROCESS_EXPORT EffectLayerView : public Process::LayerView
17{
18public:
19 explicit EffectLayerView(QGraphicsItem* parent);
20 ~EffectLayerView() override;
21
22 void setWidth(qreal width, qreal defaultWidth);
23
24protected:
25 qreal m_defaultWidth{};
26
27private:
28 void paint_impl(QPainter*) const override;
29};
30
31class SCORE_LIB_PROCESS_EXPORT EffectLayerPresenter
33{
34 W_OBJECT(EffectLayerPresenter)
35public:
38 const Process::Context& ctx, QObject* parent);
39 ~EffectLayerPresenter() override;
40
41 void setWidth(qreal width, qreal defaultWidth) override;
42 void setHeight(qreal val) override;
43 void putToFront() override;
44 void putBehind() override;
45 void on_zoomRatioChanged(ZoomRatio) override;
46 void parentGeometryChanged() override;
47 void fillContextMenu(
48 QMenu& menu, QPoint pos, QPointF scenepos,
49 const Process::LayerContextMenuManager&) override;
50
51protected:
53};
54
55SCORE_LIB_PROCESS_EXPORT
56QGraphicsItem* makeScriptButton(
57 Process::ProcessModel& proc, const score::DocumentContext& ctx, QObject* self,
58 QGraphicsItem* parent);
59
60SCORE_LIB_PROCESS_EXPORT
61void setupScriptUI(
62 Process::ProcessModel& proc, const Process::LayerFactory& factory,
63 const score::DocumentContext& ctx, bool show);
64
65SCORE_LIB_PROCESS_EXPORT
66void setupScriptUI(
67 Process::ProcessModel& proc, const score::DocumentContext& ctx, bool show);
68
69enum class ProcessUIKind
70{
71 ScriptEditor,
72 ExternalUI
73};
74
77SCORE_LIB_PROCESS_EXPORT
78void moveProcessUI(
79 Process::ProcessModel& proc, const score::DocumentContext& ctx, ProcessUIKind kind,
80 const QString& placement);
81
83SCORE_LIB_PROCESS_EXPORT
85 QMenu& menu, Process::ProcessModel& proc, const score::DocumentContext& ctx,
86 ProcessUIKind kind);
87
88SCORE_LIB_PROCESS_EXPORT
89void setupExternalUI(
90 Process::ProcessModel& proc, const Process::LayerFactory& factory,
91 const score::DocumentContext& ctx, bool show);
92
93SCORE_LIB_PROCESS_EXPORT
94void setupExternalUI(
95 Process::ProcessModel& proc, const score::DocumentContext& ctx, bool show);
96
97SCORE_LIB_PROCESS_EXPORT
98QGraphicsItem* makeExternalUIButton(
99 Process::ProcessModel& proc, const score::DocumentContext& ctx, QObject* self,
100 QGraphicsItem* parent);
101
102SCORE_LIB_PROCESS_EXPORT
103score::QGraphicsDraggablePixmap* makePresetButton(
104 const Process::ProcessModel& proc, const score::DocumentContext& ctx, QObject* self,
105 QGraphicsItem* parent);
106
107SCORE_LIB_PROCESS_EXPORT
108void copyProcess(JSONReader& r, const Process::ProcessModel& proc);
109}
Definition JSONVisitor.hpp:52
Definition EffectLayer.hpp:33
Definition EffectLayer.hpp:17
Definition LayerContextMenu.hpp:38
Definition score-lib-process/Process/ProcessFactory.hpp:59
Definition LayerPresenter.hpp:34
Definition LayerView.hpp:21
The Process class.
Definition score-lib-process/Process/Process.hpp:75
Definition QGraphicsSelectablePixmapToggle.hpp:51
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
void moveProcessUI(Process::ProcessModel &proc, const score::DocumentContext &ctx, ProcessUIKind kind, const QString &placement)
Definition EffectLayer.cpp:568
void fillPlacementMenu(QMenu &menu, Process::ProcessModel &proc, const score::DocumentContext &ctx, ProcessUIKind kind)
Menu entries to pick the placement of this process's editor / UI.
Definition EffectLayer.cpp:606
Base toolkit upon which the software is built.
Definition Application.cpp:117
Definition ProcessContext.hpp:12
Definition DocumentContext.hpp:18