diff --git a/src/ui/GameWorldView.cpp b/src/ui/GameWorldView.cpp index 59525d6..d681bad 100644 --- a/src/ui/GameWorldView.cpp +++ b/src/ui/GameWorldView.cpp @@ -1083,6 +1083,19 @@ void GameWorldView::drawSelectionHighlights(QPainter& painter) // Outline sits 1px outside the footprint (into adjacent tiles). painter.drawRect(rect->adjusted(-1, -1, 1, 1)); } + + // A ring around each selected scrap pile, sitting just outside the pile's + // rendered circle (radius tilePx()*0.2, matching drawScrap) (REQ-UI-SCRAP-CLICK-SELECT). + if (!m_selectedScrap.empty()) + { + const qreal outlineRadius = static_cast(tilePx() * 0.2f) + 3.0; + for (const ScrapInfo& scrap : m_sim->scraps().allScrapInfo()) + { + if (std::find(m_selectedScrap.begin(), m_selectedScrap.end(), scrap.entity) + == m_selectedScrap.end()) { continue; } + painter.drawEllipse(worldToWidget(scrap.position), outlineRadius, outlineRadius); + } + } } void GameWorldView::drawCopyConfigFeedback(QPainter& painter)