diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index 4076ed21e..ef35d1d85 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -755,7 +755,7 @@ void RichResourceTextPaint(const QWidget *owner, QPainter *painter, QRect rect, static const int margin = RichResourceTextMargin; - rect.adjust(margin, 0, -margin * 2, 0); + rect.adjust(margin, 0, -margin, 0); QString name; @@ -983,18 +983,20 @@ int RichResourceTextHeightHint(const QWidget *owner, const QFont &font, const QV { QFontMetrics metrics(font); + static const int margin = RichResourceTextMargin; + if(var.userType() == qMetaTypeId()) { RichResourceTextPtr linkedText = var.value(); - static const int margin = RichResourceTextMargin; - linkedText->cacheDocument(owner); return linkedText->numLines * (metrics.lineSpacing() + margin * 2); } - return metrics.height(); + const QPixmap &px = Pixmaps::link(owner->devicePixelRatio()); + + return qMax(metrics.height(), px.height() + margin * 2); } bool RichResourceTextMouseEvent(const QWidget *owner, const QVariant &var, QRect rect, diff --git a/qrenderdoc/Widgets/Extended/RDLabel.cpp b/qrenderdoc/Widgets/Extended/RDLabel.cpp index b9052ec03..7093e860b 100644 --- a/qrenderdoc/Widgets/Extended/RDLabel.cpp +++ b/qrenderdoc/Widgets/Extended/RDLabel.cpp @@ -45,7 +45,9 @@ void RDLabel::modifySizeHint(QSize &sz) const sz.setWidth(qMax(RichResourceTextWidthHint(this, font(), m_variant) + contentsMargins().left() + contentsMargins().right() + margin() * 2, sz.width())); - sz.setHeight(qMax(RichResourceTextHeightHint(this, font(), m_variant), sz.height())); + sz.setHeight(qMax(RichResourceTextHeightHint(this, font(), m_variant) + + contentsMargins().top() + contentsMargins().bottom() + margin() * 2, + sz.height())); } }