blob: 01c975fe3c11cd6ddf02fa92d2a57f0b36997cb9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#ifndef WAVEFORMRENDERMARK_H
#define WAVEFORMRENDERMARK_H
#include <QObject>
#include "skin/skincontext.h"
#include "util/class.h"
#include "util/color/color.h"
#include "waveform/renderers/waveformmarkset.h"
#include "waveform/renderers/waveformrendererabstract.h"
#include "track/cue.h"
#include "preferences/configobject.h"
class WaveformRenderMark : public QObject, public WaveformRendererAbstract {
Q_OBJECT
public:
explicit WaveformRenderMark(WaveformWidgetRenderer* waveformWidgetRenderer);
virtual void setup(const QDomNode& node, const SkinContext& context);
virtual void draw(QPainter* painter, QPaintEvent* event);
virtual void onResize() override;
// Called when a new track is loaded.
virtual void onSetTrack();
public slots:
// Called when the loaded track's cues are added, deleted or modified and
// when a new track is loaded.
// It updates the marks' names and regenerates their image if needed.
// This method is used for hotcues.
void slotCuesUpdated();
private:
void generateMarkImage(WaveformMarkPointer pMark);
PredefinedColorsRepresentation m_predefinedColorsRepresentation;
WaveformMarkSet m_marks;
DISALLOW_COPY_AND_ASSIGN(WaveformRenderMark);
};
#endif
|