From 0e930a2c13a4cc6ec06cd6cd5a170d42a777c67c Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 9 Sep 2022 00:18:40 +0200 Subject: [PATCH] Prevent thick zone highlight from going outside the zone box. --- server/TracyView_GpuTimeline.cpp | 9 ++++++++- server/TracyView_ZoneTimeline.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/TracyView_GpuTimeline.cpp b/server/TracyView_GpuTimeline.cpp index 677a0174..f255874c 100644 --- a/server/TracyView_GpuTimeline.cpp +++ b/server/TracyView_GpuTimeline.cpp @@ -238,7 +238,14 @@ int View::DrawGpuZoneLevel( const V& vec, bool hover, double pxns, int64_t nspx, draw->AddRectFilled( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.color ); if( zoneColor.highlight ) { - draw->AddRect( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + if( zoneColor.thickness > 1.f ) + { + draw->AddRect( wpos + ImVec2( px0 + 1, offset + 1 ), wpos + ImVec2( px1 - 1, offset + tsz.y - 1 ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + } + else + { + draw->AddRect( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + } } else { diff --git a/server/TracyView_ZoneTimeline.cpp b/server/TracyView_ZoneTimeline.cpp index ec08fe99..92aeded7 100644 --- a/server/TracyView_ZoneTimeline.cpp +++ b/server/TracyView_ZoneTimeline.cpp @@ -734,7 +734,14 @@ int View::DrawZoneLevel( const V& vec, bool hover, double pxns, int64_t nspx, co draw->AddRectFilled( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.color ); if( zoneColor.highlight ) { - draw->AddRect( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + if( zoneColor.thickness > 1.f ) + { + draw->AddRect( wpos + ImVec2( px0 + 1, offset + 1 ), wpos + ImVec2( px1 - 1, offset + tsz.y - 1 ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + } + else + { + draw->AddRect( wpos + ImVec2( px0, offset ), wpos + ImVec2( px1, offset + tsz.y ), zoneColor.accentColor, 0.f, -1, zoneColor.thickness ); + } } else {