4 #include <base-logging/Logging.hpp>
10 QRectF GraphicsPointsItem::calcBoundingRect()
const
12 QPoint left_top(std::numeric_limits< int >::max(),
13 std::numeric_limits< int >::max());
14 QPoint right_bottom(0,0);
15 QList<QPoint>::const_iterator iter = points.begin();
16 for(;iter != points.end();++iter)
18 if(iter->x() < left_top.x())
19 left_top.setX(iter->x());
20 if(iter->y() < left_top.y())
21 left_top.setY(iter->y());
22 if(iter->x() > right_bottom.x())
23 right_bottom.setX(iter->x());
24 if(iter->y() > right_bottom.y())
25 right_bottom.setY(iter->y());
30 QRect rect(left_top,right_bottom);
33 int penwidth = pen.width();
35 rect = QRect(left_top.x()-penwidth/2, left_top.y()-penwidth/2,
36 rect.width()+penwidth, rect.height()+penwidth);
46 return calcBoundingRect();
57 QList<QPoint>::iterator iter = points.begin();
58 for(;iter != points.end();++iter)
59 painter->drawPoint(*iter);
void setPen(const QPen &pen)
QRectF boundingRect() const
GraphicsPointsItem(const QList< QPoint > &points)
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)