Set device pixel ratio for counter layer

This commit is contained in:
Ilya Fedin 2023-04-04 09:14:39 +04:00 committed by John Preston
parent c9308d04b8
commit 8dee2a1c8b
3 changed files with 6 additions and 1 deletions

View File

@ -232,6 +232,7 @@ QIcon IconGraphic::trayIcon(
: 16;
const auto layer = Window::GenerateCounterLayer({
.size = layerSize,
.devicePixelRatio = iconImage.devicePixelRatio(),
.count = counter,
.bg = bg,
.fg = fg,

View File

@ -249,7 +249,10 @@ QImage GenerateCounterLayer(CounterLayerArgs &&args) {
}
}();
auto result = QImage(d.size, d.size, QImage::Format_ARGB32);
auto result = QImage(
QSize(d.size, d.size) * d.devicePixelRatio,
QImage::Format_ARGB32);
result.setDevicePixelRatio(d.devicePixelRatio);
result.fill(Qt::transparent);
auto p = QPainter(&result);

View File

@ -51,6 +51,7 @@ struct CounterLayerArgs {
required<int> count = 1;
required<style::color> bg;
required<style::color> fg;
double devicePixelRatio = 1.;
};
[[nodiscard]] QImage GenerateCounterLayer(CounterLayerArgs &&args);