MCPcopy Create free account
hub / github.com/OpenOrienteering/mapper / paint

Method paint

src/gui/touch_cursor.cpp:146–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146void TouchCursor::paint(QPainter* painter)
147{
148 if (!visible)
149 return;
150
151 QPointF cursor_pos = map_widget->mapToViewport(cursor_coord);
152
153 // Draw cursor
154 QPixmap cursor_pixmap = map_widget->cursor().pixmap();
155 if (!cursor_pixmap.isNull())
156 painter->drawPixmap(cursor_pos - map_widget->cursor().hotSpot(), cursor_pixmap);
157 else
158 {
159 // TODO: better standard "cursor"?
160 float cursor_radius = standardCursorRadiusPx();
161
162 painter->setPen(QPen(Qt::gray, controlRingStrokeRadiusPx()));
163 painter->setBrush(Qt::NoBrush);
164 painter->drawLine(cursor_pos - QPointF(cursor_radius, 0), cursor_pos + QPointF(cursor_radius, 0));
165 painter->drawLine(cursor_pos - QPointF(0, cursor_radius), cursor_pos + QPointF(0, cursor_radius));
166 }
167
168 // Draw move handle / left button
169 painter->setPen(QPen(Qt::gray, controlRingStrokeRadiusPx()));
170 painter->setBrush(Qt::NoBrush);
171 painter->drawEllipse(cursor_pos + QPointF(0, touchPosOffsetPx()), controlRingRadiusPx(), controlRingRadiusPx());
172}
173
174bool TouchCursor::touchedControl(const QPoint& pos, TouchCursor::ControlID* out_id)
175{

Callers 1

paintEventMethod · 0.45

Calls 7

mapToViewportMethod · 0.80
pixmapMethod · 0.80
QPointFClass · 0.70
QPenClass · 0.50
drawPixmapMethod · 0.45
setPenMethod · 0.45
setBrushMethod · 0.45

Tested by

no test coverage detected