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 <QSvgRenderer>
|
||||||
#include <QVector>
|
#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()
|
ViewCube::ViewCube()
|
||||||
{
|
{
|
||||||
m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg"));
|
m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg"));
|
||||||
@@ -220,14 +234,7 @@ void ViewCube::paint2D(QPainter& painter, int widgetWidth, int widgetHeight)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int viewCubeSize = 150; // logical pixels
|
m_homeButtonRect = getHomeButtonRect(widgetWidth);
|
||||||
int buttonSize = 24;
|
|
||||||
int buttonMargin = -32;
|
|
||||||
|
|
||||||
int viewCubeX = widgetWidth - viewCubeSize;
|
|
||||||
int viewCubeY = 0;
|
|
||||||
|
|
||||||
m_homeButtonRect = QRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
|
|
||||||
|
|
||||||
if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) {
|
if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) {
|
||||||
QImage image(m_homeButtonRect.size(), QImage::Format_ARGB32_Premultiplied);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int viewCubeSize = 150;
|
QRect homeButtonRect = getHomeButtonRect(widgetWidth);
|
||||||
int buttonSize = 24;
|
|
||||||
int buttonMargin = -32;
|
|
||||||
int viewCubeX = widgetWidth - viewCubeSize;
|
|
||||||
int viewCubeY = 0;
|
|
||||||
QRect homeButtonRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
|
|
||||||
|
|
||||||
return homeButtonRect.contains(pos);
|
return homeButtonRect.contains(pos);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user