fix: Enlarge and invert tool icon color for visibility
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
@@ -11,6 +11,8 @@
|
|||||||
#include <QWheelEvent>
|
#include <QWheelEvent>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
#include <QPixmap>
|
||||||
|
#include <QImage>
|
||||||
#include <QSvgRenderer>
|
#include <QSvgRenderer>
|
||||||
#include <QWheelEvent>
|
#include <QWheelEvent>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
@@ -160,10 +162,20 @@ void ViewportWidget::paintGL()
|
|||||||
if (m_currentPlane != SketchPlane::NONE && m_activeTool != static_cast<int>(ApplicationController::ToolType::None) && m_toolIcons.contains(m_activeTool)) {
|
if (m_currentPlane != SketchPlane::NONE && m_activeTool != static_cast<int>(ApplicationController::ToolType::None) && m_toolIcons.contains(m_activeTool)) {
|
||||||
QSvgRenderer* renderer = m_toolIcons.value(m_activeTool);
|
QSvgRenderer* renderer = m_toolIcons.value(m_activeTool);
|
||||||
if (renderer && renderer->isValid()) {
|
if (renderer && renderer->isValid()) {
|
||||||
const QSize iconSize(16, 16);
|
const QSize iconSize(32, 32);
|
||||||
const QPoint iconPos = m_currentMousePos + QPoint(15, 15);
|
const QPoint iconPos = m_currentMousePos + QPoint(15, 15);
|
||||||
const QRect iconRect(iconPos, iconSize);
|
const QRect iconRect(iconPos, iconSize);
|
||||||
renderer->render(&painter, iconRect);
|
|
||||||
|
QPixmap pixmap(iconSize);
|
||||||
|
pixmap.fill(Qt::transparent);
|
||||||
|
QPainter pixmapPainter(&pixmap);
|
||||||
|
renderer->render(&pixmapPainter);
|
||||||
|
pixmapPainter.end();
|
||||||
|
|
||||||
|
QImage image = pixmap.toImage();
|
||||||
|
image.invertPixels(QImage::InvertRgb);
|
||||||
|
|
||||||
|
painter.drawImage(iconRect, image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user