-
Notifications
You must be signed in to change notification settings - Fork 0
/
renderhints.h
57 lines (42 loc) · 1.56 KB
/
renderhints.h
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
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef RENDERHINTS_H
#define RENDERHINTS_H
#include <QVector>
#include <QVector2D>
#include <QMap>
#include <memory>
#include "idoublefromdepthcalculator.h"
class QColor;
class QChar;
class RenderHints
{
public:
RenderHints();
~RenderHints();
void addColor(const QColor &c);
const QVector<QColor> &getColors() const;
void setThicknessCalculator(std::shared_ptr<IDoubleFromDepthCalculator> Calculator);
double getLineThickness(const QChar &c, int depth);
void setSegmentLengthCalculator(std::shared_ptr<IDoubleFromDepthCalculator> Calculator);
double getSegmentLength(const QChar &c, int depth);
double getAngleIncrementPerSecond() const;
void setAngleIncrementPerSecond(double AngleIncrementPerSecond);
bool getScaleWithZoom() const;
void addLengthForChar(const QChar &c, double Length);
const QMap<QChar, double> &getLengths() const;
double getInitialAngle() const;
void setInitialAngle(double InitialAngle);
const QVector2D &getInitialPosition() const;
void setInitialPosition(const QVector2D &InitialPosition);
double getInitialAnimationAngle() const;
void setInitialAnimationAngle(double InitialAnimationAngle);
private:
QVector<QColor> m_Colors;
std::shared_ptr<IDoubleFromDepthCalculator> m_LineThicknessCalculator;
std::shared_ptr<IDoubleFromDepthCalculator> m_SegmentLengthCalculator;
double m_AngleIncrementPerSecond;
QMap<QChar, double> m_LengthForChar;
double m_InitialAngle;
QVector2D m_InitialPosition;
double m_InitialAnimationAngle;
};
#endif // RENDERHINTS_H