Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenBoard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lifo
Nicolas Ollinger
OpenBoard
Commits
3b0cae95
Commit
3b0cae95
authored
Oct 15, 2012
by
shibakaneki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reworked the tools architecture
parent
22ec82a8
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
34 additions
and
34 deletions
+34
-34
UBGeometryUtils.cpp
src/frameworks/UBGeometryUtils.cpp
+5
-0
UBGeometryUtils.h
src/frameworks/UBGeometryUtils.h
+6
-0
UBAbstractDrawRuler.h
src/tools/UBAbstractDrawRuler.h
+4
-1
UBGraphicsProtractor.h
src/tools/UBGraphicsProtractor.h
+1
-1
UBGraphicsRuler.cpp
src/tools/UBGraphicsRuler.cpp
+8
-14
UBGraphicsRuler.h
src/tools/UBGraphicsRuler.h
+1
-1
UBGraphicsTriangle.cpp
src/tools/UBGraphicsTriangle.cpp
+8
-14
UBGraphicsTriangle.h
src/tools/UBGraphicsTriangle.h
+1
-3
No files found.
src/frameworks/UBGeometryUtils.cpp
View file @
3b0cae95
...
...
@@ -18,6 +18,11 @@
#include "core/memcheck.h"
const
double
PI
=
4.0
*
atan
(
1.0
);
const
int
UBGeometryUtils
::
centimeterGraduationHeight
=
15
;
const
int
UBGeometryUtils
::
halfCentimeterGraduationHeight
=
10
;
const
int
UBGeometryUtils
::
millimeterGraduationHeight
=
5
;
const
int
UBGeometryUtils
::
millimetersPerCentimeter
=
10
;
const
int
UBGeometryUtils
::
millimetersPerHalfCentimeter
=
5
;
UBGeometryUtils
::
UBGeometryUtils
()
{
...
...
src/frameworks/UBGeometryUtils.h
View file @
3b0cae95
...
...
@@ -37,6 +37,12 @@ class UBGeometryUtils
static
QPoint
pointConstrainedInRect
(
QPoint
point
,
QRect
rect
);
static
void
crashPointList
(
QVector
<
QPointF
>
&
points
);
const
static
int
centimeterGraduationHeight
;
const
static
int
halfCentimeterGraduationHeight
;
const
static
int
millimeterGraduationHeight
;
const
static
int
millimetersPerCentimeter
;
const
static
int
millimetersPerHalfCentimeter
;
};
#endif
/* UBGEOMETRYUTILS_H_ */
src/tools/UBAbstractDrawRuler.h
View file @
3b0cae95
...
...
@@ -16,6 +16,8 @@
#define UB_ABSTRACTDRAWRULER_H_
#include <QtGui>
#include "frameworks/UBGeometryUtils.h"
class
UBGraphicsScene
;
class
QGraphicsSvgItem
;
...
...
@@ -45,7 +47,8 @@ protected:
virtual
void
rotateAroundCenter
(
qreal
angle
)
=
0
;
virtual
QPointF
rotationCenter
()
const
=
0
;
virtual
QRectF
closeButtonRect
()
const
=
0
;
virtual
QRectF
closeButtonRect
()
const
=
0
;
virtual
void
paintGraduations
(
QPainter
*
painter
)
=
0
;
bool
mShowButtons
;
QGraphicsSvgItem
*
mCloseSvgItem
;
...
...
src/tools/UBGraphicsProtractor.h
View file @
3b0cae95
...
...
@@ -62,10 +62,10 @@ class UBGraphicsProtractor : public UBAbstractDrawRuler, public QGraphicsEllipse
virtual
void
hoverMoveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
QPainterPath
shape
()
const
;
QRectF
boundingRect
()
const
;
void
paintGraduations
(
QPainter
*
painter
);
private
:
// Helpers
void
paintGraduations
(
QPainter
*
painter
);
void
paintButtons
(
QPainter
*
painter
);
void
paintAngleMarker
(
QPainter
*
painter
);
Tool
toolFromPos
(
QPointF
pos
);
...
...
src/tools/UBGraphicsRuler.cpp
View file @
3b0cae95
...
...
@@ -158,36 +158,30 @@ void UBGraphicsRuler::fillBackground(QPainter *painter)
void
UBGraphicsRuler
::
paintGraduations
(
QPainter
*
painter
)
{
const
int
centimeterGraduationHeight
=
15
;
const
int
halfCentimeterGraduationHeight
=
10
;
const
int
millimeterGraduationHeight
=
5
;
const
int
millimetersPerCentimeter
=
10
;
const
int
millimetersPerHalfCentimeter
=
5
;
painter
->
save
();
painter
->
setFont
(
font
());
QFontMetricsF
fontMetrics
(
painter
->
font
());
for
(
int
millimeters
=
0
;
millimeters
<
(
rect
().
width
()
-
sLeftEdgeMargin
-
sRoundingRadius
)
/
sPixelsPerMillimeter
;
millimeters
++
)
{
int
graduationX
=
rotationCenter
().
x
()
+
sPixelsPerMillimeter
*
millimeters
;
int
graduationHeight
=
(
0
==
millimeters
%
millimetersPerCentimeter
)
?
centimeterGraduationHeight
:
((
0
==
millimeters
%
millimetersPerHalfCentimeter
)
?
halfCentimeterGraduationHeight
:
millimeterGraduationHeight
);
int
graduationHeight
=
(
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerCentimeter
)
?
UBGeometryUtils
::
centimeterGraduationHeight
:
((
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerHalfCentimeter
)
?
UBGeometryUtils
::
halfCentimeterGraduationHeight
:
UBGeometryUtils
::
millimeterGraduationHeight
);
painter
->
drawLine
(
QLine
(
graduationX
,
rotationCenter
().
y
(),
graduationX
,
rotationCenter
().
y
()
+
graduationHeight
));
painter
->
drawLine
(
QLine
(
graduationX
,
rotationCenter
().
y
()
+
rect
().
height
(),
graduationX
,
rotationCenter
().
y
()
+
rect
().
height
()
-
graduationHeight
));
if
(
0
==
millimeters
%
millimetersPerCentimeter
)
if
(
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerCentimeter
)
{
QString
text
=
QString
(
"%1"
).
arg
((
int
)(
millimeters
/
millimetersPerCentimeter
));
QString
text
=
QString
(
"%1"
).
arg
((
int
)(
millimeters
/
UBGeometryUtils
::
millimetersPerCentimeter
));
if
(
graduationX
+
fontMetrics
.
width
(
text
)
/
2
<
rect
().
right
())
{
qreal
textWidth
=
fontMetrics
.
width
(
text
);
qreal
textHeight
=
fontMetrics
.
tightBoundingRect
(
text
).
height
()
+
5
;
painter
->
drawText
(
QRectF
(
graduationX
-
textWidth
/
2
,
rect
().
top
()
+
5
+
centimeterGraduationHeight
,
textWidth
,
textHeight
),
QRectF
(
graduationX
-
textWidth
/
2
,
rect
().
top
()
+
5
+
UBGeometryUtils
::
centimeterGraduationHeight
,
textWidth
,
textHeight
),
Qt
::
AlignVCenter
,
text
);
painter
->
drawText
(
QRectF
(
graduationX
-
textWidth
/
2
,
rect
().
bottom
()
-
5
-
centimeterGraduationHeight
-
textHeight
,
textWidth
,
textHeight
),
QRectF
(
graduationX
-
textWidth
/
2
,
rect
().
bottom
()
-
5
-
UBGeometryUtils
::
centimeterGraduationHeight
-
textHeight
,
textWidth
,
textHeight
),
Qt
::
AlignVCenter
,
text
);
}
}
...
...
src/tools/UBGraphicsRuler.h
View file @
3b0cae95
...
...
@@ -59,6 +59,7 @@ class UBGraphicsRuler : public UBAbstractDrawRuler, public QGraphicsRectItem, pu
virtual
void
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverMoveEvent
(
QGraphicsSceneHoverEvent
*
event
);
void
paintGraduations
(
QPainter
*
painter
);
private
:
...
...
@@ -68,7 +69,6 @@ class UBGraphicsRuler : public UBAbstractDrawRuler, public QGraphicsRectItem, pu
// Helpers
void
fillBackground
(
QPainter
*
painter
);
void
paintGraduations
(
QPainter
*
painter
);
void
paintRotationCenter
(
QPainter
*
painter
);
virtual
void
rotateAroundCenter
(
qreal
angle
);
...
...
src/tools/UBGraphicsTriangle.cpp
View file @
3b0cae95
...
...
@@ -297,12 +297,6 @@ QPainterPath UBGraphicsTriangle::shape() const
void
UBGraphicsTriangle
::
paintGraduations
(
QPainter
*
painter
)
{
const
int
centimeterGraduationHeight
=
15
;
const
int
halfCentimeterGraduationHeight
=
10
;
const
int
millimeterGraduationHeight
=
5
;
const
int
millimetersPerCentimeter
=
10
;
const
int
millimetersPerHalfCentimeter
=
5
;
qreal
kx
=
(
mOrientation
==
TopLeft
||
mOrientation
==
BottomLeft
)
?
1
:
-
1
;
qreal
ky
=
(
mOrientation
==
BottomLeft
||
mOrientation
==
BottomRight
)
?
1
:
-
1
;
...
...
@@ -312,10 +306,10 @@ void UBGraphicsTriangle::paintGraduations(QPainter *painter)
for
(
int
millimeters
=
0
;
millimeters
<
(
rect
().
width
()
-
sLeftEdgeMargin
-
sRoundingRadius
)
/
sPixelsPerMillimeter
;
millimeters
++
)
{
int
graduationX
=
rotationCenter
().
x
()
+
kx
*
sPixelsPerMillimeter
*
millimeters
;
int
graduationHeight
=
(
0
==
millimeters
%
millimetersPerCentimeter
)
?
centimeterGraduationHeight
:
((
0
==
millimeters
%
millimetersPerHalfCentimeter
)
?
halfCentimeterGraduationHeight
:
millimeterGraduationHeight
);
int
graduationHeight
=
(
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerCentimeter
)
?
UBGeometryUtils
::
centimeterGraduationHeight
:
((
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerHalfCentimeter
)
?
UBGeometryUtils
::
halfCentimeterGraduationHeight
:
UBGeometryUtils
::
millimeterGraduationHeight
);
// Check that grad. line inside triangle
qreal
dx
=
(
kx
>
0
)
?
rect
().
width
()
-
graduationX
:
graduationX
-
rect
().
x
();
...
...
@@ -332,15 +326,15 @@ void UBGraphicsTriangle::paintGraduations(QPainter *painter)
}
painter
->
drawLine
(
QLine
(
graduationX
,
rotationCenter
().
y
(),
graduationX
,
rotationCenter
().
y
()
-
ky
*
graduationHeight
));
if
(
0
==
millimeters
%
millimetersPerCentimeter
)
if
(
0
==
millimeters
%
UBGeometryUtils
::
millimetersPerCentimeter
)
{
QString
text
=
QString
(
"%1"
).
arg
((
int
)(
millimeters
/
millimetersPerCentimeter
));
QString
text
=
QString
(
"%1"
).
arg
((
int
)(
millimeters
/
UBGeometryUtils
::
millimetersPerCentimeter
));
int
textXRight
=
graduationX
+
fontMetrics
.
width
(
text
)
/
2
;
qreal
textWidth
=
fontMetrics
.
width
(
text
);
qreal
textHeight
=
fontMetrics
.
tightBoundingRect
(
text
).
height
()
+
5
;
int
textY
=
(
ky
>
0
)
?
rotationCenter
().
y
()
-
5
-
centimeterGraduationHeight
-
textHeight
:
rotationCenter
().
y
()
+
5
+
centimeterGraduationHeight
;
int
textY
=
(
ky
>
0
)
?
rotationCenter
().
y
()
-
5
-
UBGeometryUtils
::
centimeterGraduationHeight
-
textHeight
:
rotationCenter
().
y
()
+
5
+
UBGeometryUtils
::
centimeterGraduationHeight
;
bool
bText
=
false
;
switch
(
mOrientation
)
...
...
src/tools/UBGraphicsTriangle.h
View file @
3b0cae95
...
...
@@ -118,6 +118,7 @@ class UBGraphicsTriangle : public UBAbstractDrawRuler, public QGraphicsPolygonIt
virtual
void
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
);
virtual
void
hoverMoveEvent
(
QGraphicsSceneHoverEvent
*
event
);
void
paintGraduations
(
QPainter
*
painter
);
private
:
...
...
@@ -143,9 +144,6 @@ class UBGraphicsTriangle : public UBAbstractDrawRuler, public QGraphicsPolygonIt
static
const
QRect
sDefaultRect
;
static
const
UBGraphicsTriangleOrientation
sDefaultOrientation
;
void
paintGraduations
(
QPainter
*
painter
);
UBGraphicsTriangleOrientation
mOrientation
;
QPointF
A1
,
B1
,
C1
,
A2
,
B2
,
C2
;
// coordinates of points in ext and int triangles
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment