From 5acb6af86290dba77641dd63ef3b4ca54328c6d1 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 11 Oct 2019 11:47:05 +0100 Subject: [PATCH] Fix some painting not reacting to different fonts correctly --- qrenderdoc/Widgets/PipelineFlowChart.cpp | 3 +++ qrenderdoc/Windows/TimelineBar.cpp | 6 +++--- qrenderdoc/Windows/TimelineBar.h | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/qrenderdoc/Widgets/PipelineFlowChart.cpp b/qrenderdoc/Widgets/PipelineFlowChart.cpp index 01fb782e1..cf313a7dc 100644 --- a/qrenderdoc/Widgets/PipelineFlowChart.cpp +++ b/qrenderdoc/Widgets/PipelineFlowChart.cpp @@ -25,6 +25,7 @@ #include "PipelineFlowChart.h" #include #include +#include "Code/QRDUtils.h" PipelineFlowChart::PipelineFlowChart(QWidget *parent) : QFrame(parent) { @@ -183,6 +184,8 @@ void PipelineFlowChart::paintEvent(QPaintEvent *e) QPainter p(this); + p.setFont(Formatter::PreferredFont()); + p.fillRect(rect(), Qt::transparent); p.setRenderHint(QPainter::Antialiasing, true); diff --git a/qrenderdoc/Windows/TimelineBar.cpp b/qrenderdoc/Windows/TimelineBar.cpp index 2c8f5d85e..e746eb086 100644 --- a/qrenderdoc/Windows/TimelineBar.cpp +++ b/qrenderdoc/Windows/TimelineBar.cpp @@ -239,7 +239,7 @@ void TimelineBar::layout() m_markerRect.setTop(m_eidAxisRect.bottom() + margin); m_highlightingRect = m_area; - m_highlightingRect.setHeight(qMax(fm.height(), dataBarHeight) + highlightingExtra); + m_highlightingRect.setHeight(qMax(fm.height(), dataBarHeight) * 2 + highlightingMargin); m_highlightingRect.moveTop(m_markerRect.bottom() - m_highlightingRect.height()); m_markerRect.setBottom(m_highlightingRect.top()); @@ -473,8 +473,6 @@ void TimelineBar::paintEvent(QPaintEvent *e) to.setWrapMode(QTextOption::NoWrap); to.setAlignment(Qt::AlignLeft | Qt::AlignVCenter); - QFontMetrics fm = p.fontMetrics(); - { QRectF titleRect = m_eidAxisRect; titleRect.setLeft(titleRect.left() - m_titleWidth); @@ -508,6 +506,8 @@ void TimelineBar::paintEvent(QPaintEvent *e) p.setFont(Formatter::PreferredFont()); + QFontMetrics fm = p.fontMetrics(); + QRectF hoverRect = eidAxisRect; // clip labels to the visible section diff --git a/qrenderdoc/Windows/TimelineBar.h b/qrenderdoc/Windows/TimelineBar.h index c9c10367b..d998bcd04 100644 --- a/qrenderdoc/Windows/TimelineBar.h +++ b/qrenderdoc/Windows/TimelineBar.h @@ -85,8 +85,8 @@ private: const qreal margin = 2.0; const qreal borderWidth = 1.0; const QString eidAxisTitle = lit("EID:"); - const int dataBarHeight = 18; - const int highlightingExtra = 12; + const int dataBarHeight = 16; + const int highlightingMargin = 2; int m_eidAxisLabelStep = 0; qreal m_eidAxisLabelTextWidth = 0;