Loading...
Searching...
No Matches
FullViewIntervalView.hpp
1#pragma once
2#include <Scenario/Document/Interval/IntervalView.hpp>
3
4#include <QRect>
5
6#include <verdigris>
7
8class QGraphicsItem;
9class QPainter;
10class QStyleOptionGraphicsItem;
11class QWidget;
12
13namespace Scenario
14{
15class FullViewIntervalPresenter;
17{
18 W_OBJECT(FullViewIntervalView)
19
20public:
21 FullViewIntervalView(FullViewIntervalPresenter& presenter, QGraphicsItem* parent);
22
23 ~FullViewIntervalView() override;
24
25 static const constexpr int Type = ItemType::FullViewInterval;
26 int type() const final override { return Type; }
27
28 void drawPaths(
29 QPainter& p, QRectF visibleRect, const score::Brush& defaultColor,
30 const Process::Style& skin);
31 void updatePaths() final override;
32 void updatePlayPaths() final override;
33 void updateOverlayPos();
34
35 QRectF boundingRect() const override;
36 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
37 override;
38
39 void setGuiWidth(double);
40
41 void setSelected(bool selected);
42 void setSnapLine(std::optional<double>);
43
44private:
45 void drawDashedPath(QPainter& p, QRectF visibleRect, const Process::Style& skin);
46 void drawPlayDashedPath(QPainter& p, QRectF visibleRect, const Process::Style& skin);
47 double m_guiWidth{};
48 std::optional<double> m_snapLine{};
49};
50}
Definition FullViewIntervalPresenter.hpp:30
Definition FullViewIntervalView.hpp:17
Definition IntervalView.hpp:34
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Definition ScenarioStyle.hpp:13
Definition Skin.hpp:56