From 2ea152479e07547060f5c1c9b9b3b050073bfadb Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 1 Apr 2021 23:45:28 +1100 Subject: [PATCH] nodeview: override icon pixmap retrieval --- app/widget/nodeview/nodeviewitem.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/widget/nodeview/nodeviewitem.cpp b/app/widget/nodeview/nodeviewitem.cpp index 7b284725e..09b899eb8 100644 --- a/app/widget/nodeview/nodeviewitem.cpp +++ b/app/widget/nodeview/nodeviewitem.cpp @@ -371,15 +371,18 @@ void NodeViewItem::DrawNodeTitle(QPainter* painter, QString text, const QRectF& { QFontMetrics fm = painter->fontMetrics(); + painter->setRenderHint(QPainter::SmoothPixmapTransform); + // Draw right or down arrow based on expanded state int icon_size = fm.height() / 2; int icon_padding = title_bar_rect_.height() / 2 - icon_size / 2; int icon_full_size = icon_size + icon_padding * 2; const QIcon& expand_icon = IsExpanded() ? icon::TriDown : icon::TriRight; - expand_icon.paint(painter, QRect(title_bar_rect_.x() + icon_padding, - title_bar_rect_.y() + icon_padding, - icon_size, - icon_size)); + int icon_size_scaled = icon_size * painter->matrix().m11(); + painter->drawPixmap(QRect(title_bar_rect_.x() + icon_padding, + title_bar_rect_.y() + icon_padding, + icon_size, + icon_size), expand_icon.pixmap(QSize(icon_size_scaled, icon_size_scaled))); // Calculate how much space we have for text int item_width = title_bar_rect_.width();