remove some code setting pixel density ratio for pixmaps

update
This commit is contained in:
captain0xff
2025-04-03 01:49:16 +05:30
parent d4de12061e
commit 08381b1d18
8 changed files with 16 additions and 37 deletions

View File

@@ -1364,12 +1364,7 @@ protected:
QPixmap icon(std::string name)
{
qreal pixelRatio = 1;
Gui::View3DInventorViewer* viewer = getViewer();
if (viewer) {
pixelRatio = viewer->devicePixelRatio();
}
int width = 16 * pixelRatio;
constexpr int width = 16;
return Gui::BitmapFactory().pixmapFromSvg(name.c_str(), QSize(width, width));
}

View File

@@ -572,14 +572,10 @@ QPixmap QGVPage::prepareCursorPixmap(const char* iconName, QPoint& hotspot)
{
QPointF floatHotspot(hotspot);
double pixelRatio = getDevicePixelRatio();
// Due to impossibility to query cursor size via Qt API, we stick to (32x32)*device_pixel_ratio
// Due to impossibility to query cursor size via Qt API, we stick to (32x32)
// as FreeCAD Wiki suggests - see https://wiki.freecad.org/HiDPI_support#Custom_cursor_size
double cursorSize = 32.0 * pixelRatio;
QPixmap pixmap = Gui::BitmapFactory().pixmapFromSvg(iconName, QSizeF(cursorSize, cursorSize));
pixmap.setDevicePixelRatio(pixelRatio);
QPixmap pixmap = Gui::BitmapFactory().pixmapFromSvg(iconName, QSizeF(32, 32));
// The default (and here expected) SVG cursor graphics size is 64x64 pixels, thus we must adjust
// the 64x64 based hotspot position for our 32x32 based cursor pixmaps accordingly
@@ -590,7 +586,7 @@ QPixmap QGVPage::prepareCursorPixmap(const char* iconName, QPoint& hotspot)
// therefore we must take care of the transformation ourselves...
// Refer to QTBUG-68571 - https://bugreports.qt.io/browse/QTBUG-68571
if (qGuiApp->platformName() == QLatin1String("xcb")) {
floatHotspot *= pixelRatio;
floatHotspot *= getDevicePixelRatio();
}
#endif