-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathnsrcroppads.h
145 lines (124 loc) · 2.48 KB
/
nsrcroppads.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#ifndef __NSRCROPPADS_H__
#define __NSRCROPPADS_H__
/**
* @file nsrcroppads.h
* @author Alexander Saprykin
* @brief Page crop pads
*/
/**
* @class NSRCropPads nsrcroppads.h
* @brief Class for page crop pads
*/
class NSRCropPads
{
public:
/** Constructor */
NSRCropPads ();
/** Destructor */
~NSRCropPads ();
/**
* @brief Checks whether pads were detected
* @return True if pads were detected, false otherwise.
* @since 1.4.2
*/
inline bool isDetected () const {
return _isDetected;
}
/**
* @brief Gets left pad
* @return Left pad, relative to width.
*/
inline double getLeft () const {
return _left;
}
/**
* @brief Gets right pad
* @return Right pad, relative to width.
*/
inline double getRight () const {
return _right;
}
/**
* @brief Gets top pad
* @return Top pad, relative to height.
*/
inline double getTop () const {
return _top;
}
/**
* @brief Gets bottom pad
* @return Bottom pad, relative to height.
*/
inline double getBottom () const {
return _bottom;
}
/**
* @brief Sets detected flag
* @param detected Whether pads were detected.
* @since 1.4.2
*/
inline void setDetected (bool detected) {
_isDetected = detected;
}
/**
* @brief Sets left pad
* @param left Left pad, relative to width.
*/
inline void setLeft (double left) {
_left = left;
}
/**
* @brief Sets right pad
* @param right Right pad, relative to width.
*/
inline void setRight (double right) {
_right = right;
}
/**
* @brief Sets top pad
* @param top Top pad, relative to height.
*/
inline void setTop (double top) {
_top = top;
}
/**
* @brief Sets bottom pad
* @param bottom Bottom pad, relative to height.
*/
inline void setBottom (double bottom) {
_bottom = bottom;
}
/**
* @brief Sets page rotation
* @param rotation Page rotation.
*/
void setRotation (unsigned int rotation);
private:
/**
* @brief Rotates pads right for 90 degrees
*/
void rotateRight ();
/**
* @brief Rotates pads left for 90 degrees
*/
void rotateLeft ();
/**
* @brief Rotates pads for 180 degrees
*/
void rotate180 ();
/**
* @brief Mirrors pads vertical
*/
void mirrorVertical ();
/**
* @brief Mirrors pads horizontal
*/
void mirrorHorizontal ();
double _left; /**< Left pad */
double _right; /**< Right pad */
double _top; /**< Top pad */
double _bottom; /**< Bottom pad */
unsigned int _rotation; /**< Clockwise */
bool _isDetected; /**< Detected flag */
};
#endif /* __NSRCROPPADS_H__ */