74 lines
1.0 KiB
C++
74 lines
1.0 KiB
C++
#include "gcross.h"
|
|
|
|
gCross::gCross(qreal px, qreal py)
|
|
{
|
|
x = px;
|
|
y = py;
|
|
dim=5;
|
|
col = QColor(Qt::lightGray);
|
|
|
|
}
|
|
|
|
gCross::gCross(QPointF p)
|
|
{
|
|
x = p.x();
|
|
y = p.y();
|
|
dim=5;
|
|
col = QColor(Qt::lightGray);
|
|
|
|
}
|
|
|
|
|
|
QRectF gCross::boundingRect() const
|
|
{
|
|
qreal d = dim;
|
|
|
|
return QRectF(x-d, y-d, 2*d, 2*d);
|
|
}
|
|
|
|
|
|
void gCross::setColor(QColor c)
|
|
{
|
|
if (col!=c) {
|
|
prepareGeometryChange();
|
|
col = c;
|
|
}
|
|
}
|
|
|
|
void gCross::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
|
{
|
|
qreal d = dim;
|
|
painter->setPen(QPen(col));
|
|
QPointF p1(x-d, y-d);
|
|
QPointF p2(x+d, y+d);
|
|
QPointF p3(x-d, y+d);
|
|
QPointF p4(x+d, y-d);
|
|
|
|
painter->drawLine(p1, p2);
|
|
painter->drawLine(p3, p4);
|
|
|
|
}
|
|
|
|
void gCross::setPos(QPointF p)
|
|
{
|
|
qreal px, py;
|
|
px= p.x(); py= p.y();
|
|
|
|
if ((x!=px)||(y!=py) ) {
|
|
prepareGeometryChange();
|
|
x=px; y=py;
|
|
}
|
|
}
|
|
|
|
|
|
void gCross::setSize(qreal d)
|
|
{
|
|
|
|
if (dim!=d) {
|
|
prepareGeometryChange();
|
|
dim=d;
|
|
}
|
|
}
|
|
|
|
|