void RotatePatternTool::drawImpl(QPainter* painter, MapWidget* widget) { drawSelectionOrPreviewObjects(painter, widget); if (isDragging()) { painter->setPen(MapEditorTool::active_color); painter->setBrush(Qt::NoBrush); painter->drawLine(widget->mapToViewport(click_pos_map), widget->mapToViewport(constrained_pos_map)); } }
void CutoutTool::drawImpl(QPainter* painter, MapWidget* widget) { // Draw selection renderables map()->drawSelection(painter, true, widget, NULL, false); // Draw cutout shape renderables drawSelectionOrPreviewObjects(painter, widget, true); // Box selection if (isDragging()) drawSelectionBox(painter, widget, click_pos_map, cur_pos_map); }
void EditPointTool::drawImpl(QPainter* painter, MapWidget* widget) { auto num_selected_objects = map()->selectedObjects().size(); if (num_selected_objects > 0) { drawSelectionOrPreviewObjects(painter, widget, text_editor != nullptr); if (!text_editor) { Object* object = *map()->selectedObjectsBegin(); if (num_selected_objects == 1 && object->getType() == Object::Text && !object->asText()->hasSingleAnchor()) { drawBoundingPath(painter, widget, object->asText()->controlPoints(), hover_state.testFlag(OverFrame) ? active_color : selection_color); } else if (selection_extent.isValid()) { auto active = hover_state.testFlag(OverFrame) && !hover_state.testFlag(OverObjectNode); drawBoundingBox(painter, widget, selection_extent, active ? active_color : selection_color); } if (num_selected_objects <= max_objects_for_handle_display) { for (const auto object: map()->selectedObjects()) { auto active = hover_state.testFlag(OverObjectNode) && hover_object == object; auto hover_point = active ? this->hover_point : no_point; pointHandles().draw(painter, widget, object, hover_point, true, PointHandles::NormalHandleState); } } } } // Text editor if (text_editor) { painter->save(); widget->applyMapTransform(painter); text_editor->draw(painter, widget); painter->restore(); } // Box selection if (isDragging() && box_selection) drawSelectionBox(painter, widget, click_pos_map, cur_pos_map); }
void RotateTool::drawImpl(QPainter* painter, MapWidget* widget) { drawSelectionOrPreviewObjects(painter, widget); if (rotation_center_set) { painter->setPen(Qt::white); painter->setBrush(Qt::NoBrush); QPoint center = widget->mapToViewport(rotation_center).toPoint(); painter->drawEllipse(center, 3, 3); painter->setPen(Qt::black); painter->drawEllipse(center, 4, 4); } if (rotating) angle_helper->draw(painter, widget); }
void MapEditorToolBase::drawImpl(QPainter* painter, MapWidget* widget) { drawSelectionOrPreviewObjects(painter, widget); }