MRU1/gcross.cpp
2025-07-02 08:18:27 +03:00

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;
}
}