refactor: DRY home button rect calculation in ViewCube
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
@@ -9,6 +9,20 @@
|
||||
#include <QSvgRenderer>
|
||||
#include <QVector>
|
||||
|
||||
namespace
|
||||
{
|
||||
QRect getHomeButtonRect(int widgetWidth) {
|
||||
const int viewCubeSize = 150; // logical pixels
|
||||
const int buttonSize = 24;
|
||||
const int buttonOffsetX = 8;
|
||||
const int buttonOffsetY = 0;
|
||||
|
||||
const int viewCubeX = widgetWidth - viewCubeSize;
|
||||
|
||||
return QRect(viewCubeX + buttonOffsetX, buttonOffsetY, buttonSize, buttonSize);
|
||||
}
|
||||
}
|
||||
|
||||
ViewCube::ViewCube()
|
||||
{
|
||||
m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg"));
|
||||
@@ -220,14 +234,7 @@ void ViewCube::paint2D(QPainter& painter, int widgetWidth, int widgetHeight)
|
||||
return;
|
||||
}
|
||||
|
||||
int viewCubeSize = 150; // logical pixels
|
||||
int buttonSize = 24;
|
||||
int buttonMargin = -32;
|
||||
|
||||
int viewCubeX = widgetWidth - viewCubeSize;
|
||||
int viewCubeY = 0;
|
||||
|
||||
m_homeButtonRect = QRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
|
||||
m_homeButtonRect = getHomeButtonRect(widgetWidth);
|
||||
|
||||
if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) {
|
||||
QImage image(m_homeButtonRect.size(), QImage::Format_ARGB32_Premultiplied);
|
||||
@@ -249,12 +256,7 @@ bool ViewCube::handleMousePress(const QPoint& pos, int widgetWidth, int widgetHe
|
||||
return false;
|
||||
}
|
||||
|
||||
int viewCubeSize = 150;
|
||||
int buttonSize = 24;
|
||||
int buttonMargin = -32;
|
||||
int viewCubeX = widgetWidth - viewCubeSize;
|
||||
int viewCubeY = 0;
|
||||
QRect homeButtonRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
|
||||
QRect homeButtonRect = getHomeButtonRect(widgetWidth);
|
||||
|
||||
return homeButtonRect.contains(pos);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user