-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcanvas.cpp
More file actions
65 lines (55 loc) · 1.2 KB
/
Copy pathcanvas.cpp
File metadata and controls
65 lines (55 loc) · 1.2 KB
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
#include "canvas.h"
#include "menu.h"
#include <QtGui>
Canvas::Canvas(QGraphicsScene *s)
{
dim = QSize (700,500);
background = Qt::white;
nodeColor = Qt::black;
wArc = false;
scene = s;
canvas = new QGraphicsRectItem(0, scene);
canvas->setPen(QPen(Qt::black));
canvas->setBrush(QBrush(background));
canvas->setRect(QRectF(QPoint(0, 0), dim));
factor = 1.0;
}
void Canvas::zoomIn()
{
scene->views().at(0)->scale(1.1,1.1);
factor *= 1.1;
}
void Canvas::zoomOut()
{
scene->views().at(0)->scale(1/1.1,1/1.1);
factor /= 1.1;
}
void Canvas::drawCircle(QPoint center, QPoint radius){
//QGraphicsEllipseItem
}
void Canvas::setChanges(QSize d, QColor bg, QColor nC, bool wA)
{
dim = d;
background = bg;
nodeColor = nC;
wArc = wA;
update();
}
void Canvas::getParametres(QSize &d, QColor &bg, QColor &nC, bool &wA)
{
d = dim;
bg = background;
nC = nodeColor;
wA = wArc;
}
void Canvas::update()
{
//UPD
}
Canvas::~Canvas()
{
scene->removeItem(canvas);
//restore zoom level back to normal
scene->views().at(0)->scale(1/factor,1/factor);
delete canvas;
}