mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Highlight message markers on timeline.
This commit is contained in:
parent
eb7064f13d
commit
44e027ad11
@ -228,6 +228,8 @@ View::View( const char* addr )
|
|||||||
, m_zoneSrcLocHighlight( 0 )
|
, m_zoneSrcLocHighlight( 0 )
|
||||||
, m_zoneSrcLocHighlightActive( false )
|
, m_zoneSrcLocHighlightActive( false )
|
||||||
, m_lockHighlight { -1 }
|
, m_lockHighlight { -1 }
|
||||||
|
, m_msgHighlight( nullptr )
|
||||||
|
, m_msgHighlightActive( false )
|
||||||
, m_gpuInfoWindow( nullptr )
|
, m_gpuInfoWindow( nullptr )
|
||||||
, m_callstackInfoWindow( 0 )
|
, m_callstackInfoWindow( 0 )
|
||||||
, m_memoryAllocInfoWindow( -1 )
|
, m_memoryAllocInfoWindow( -1 )
|
||||||
@ -269,6 +271,8 @@ View::View( FileRead& f )
|
|||||||
, m_zoneInfoWindow( nullptr )
|
, m_zoneInfoWindow( nullptr )
|
||||||
, m_zoneSrcLocHighlight( 0 )
|
, m_zoneSrcLocHighlight( 0 )
|
||||||
, m_zoneSrcLocHighlightActive( false )
|
, m_zoneSrcLocHighlightActive( false )
|
||||||
|
, m_msgHighlight( nullptr )
|
||||||
|
, m_msgHighlightActive( false )
|
||||||
, m_gpuInfoWindow( nullptr )
|
, m_gpuInfoWindow( nullptr )
|
||||||
, m_callstackInfoWindow( 0 )
|
, m_callstackInfoWindow( 0 )
|
||||||
, m_memoryAllocInfoWindow( -1 )
|
, m_memoryAllocInfoWindow( -1 )
|
||||||
@ -1185,7 +1189,14 @@ bool View::DrawZoneFrames( const FrameData& frames )
|
|||||||
|
|
||||||
void View::DrawZones()
|
void View::DrawZones()
|
||||||
{
|
{
|
||||||
m_msgHighlight = nullptr;
|
if( m_msgHighlightActive )
|
||||||
|
{
|
||||||
|
m_msgHighlightActive = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_msgHighlight = nullptr;
|
||||||
|
}
|
||||||
if( m_zoneSrcLocHighlightActive )
|
if( m_zoneSrcLocHighlightActive )
|
||||||
{
|
{
|
||||||
m_zoneSrcLocHighlightActive = false;
|
m_zoneSrcLocHighlightActive = false;
|
||||||
@ -1361,8 +1372,13 @@ void View::DrawZones()
|
|||||||
if( dist > 1 )
|
if( dist > 1 )
|
||||||
{
|
{
|
||||||
draw->AddTriangleFilled( wpos + ImVec2( px - (ty - to) * 0.5, offset + to ), wpos + ImVec2( px + (ty - to) * 0.5, offset + to ), wpos + ImVec2( px, offset + to + th ), 0xFFDDDDDD );
|
draw->AddTriangleFilled( wpos + ImVec2( px - (ty - to) * 0.5, offset + to ), wpos + ImVec2( px + (ty - to) * 0.5, offset + to ), wpos + ImVec2( px, offset + to + th ), 0xFFDDDDDD );
|
||||||
|
draw->AddTriangle( wpos + ImVec2( px - (ty - to) * 0.5, offset + to ), wpos + ImVec2( px + (ty - to) * 0.5, offset + to ), wpos + ImVec2( px, offset + to + th ), 0xFFDDDDDD );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const auto color = ( m_msgHighlight == *it ) ? 0xFF4444FF : 0xFFDDDDDD;
|
||||||
|
draw->AddTriangle( wpos + ImVec2( px - (ty - to) * 0.5, offset + to ), wpos + ImVec2( px + (ty - to) * 0.5, offset + to ), wpos + ImVec2( px, offset + to + th ), color );
|
||||||
}
|
}
|
||||||
draw->AddTriangle( wpos + ImVec2( px - (ty - to) * 0.5, offset + to ), wpos + ImVec2( px + (ty - to) * 0.5, offset + to ), wpos + ImVec2( px, offset + to + th ), 0xFFDDDDDD );
|
|
||||||
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( px - (ty - to) * 0.5 - 1, offset ), wpos + ImVec2( px + (ty - to) * 0.5 + 1, offset + ty ) ) )
|
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( px - (ty - to) * 0.5 - 1, offset ), wpos + ImVec2( px + (ty - to) * 0.5 + 1, offset + ty ) ) )
|
||||||
{
|
{
|
||||||
ImGui::BeginTooltip();
|
ImGui::BeginTooltip();
|
||||||
@ -1379,6 +1395,7 @@ void View::DrawZones()
|
|||||||
}
|
}
|
||||||
ImGui::EndTooltip();
|
ImGui::EndTooltip();
|
||||||
m_msgHighlight = *it;
|
m_msgHighlight = *it;
|
||||||
|
m_msgHighlightActive = true;
|
||||||
}
|
}
|
||||||
it = next;
|
it = next;
|
||||||
}
|
}
|
||||||
@ -3931,6 +3948,11 @@ void View::DrawMessages()
|
|||||||
{
|
{
|
||||||
CenterAtTime( v->time );
|
CenterAtTime( v->time );
|
||||||
}
|
}
|
||||||
|
if( ImGui::IsItemHovered() )
|
||||||
|
{
|
||||||
|
m_msgHighlight = v;
|
||||||
|
m_msgHighlightActive = true;
|
||||||
|
}
|
||||||
ImGui::PopID();
|
ImGui::PopID();
|
||||||
ImGui::NextColumn();
|
ImGui::NextColumn();
|
||||||
ImGui::Text( "%s", m_worker.GetThreadString( v->thread ) );
|
ImGui::Text( "%s", m_worker.GetThreadString( v->thread ) );
|
||||||
|
|||||||
@ -189,6 +189,7 @@ private:
|
|||||||
bool m_zoneSrcLocHighlightActive;
|
bool m_zoneSrcLocHighlightActive;
|
||||||
LockHighlight m_lockHighlight;
|
LockHighlight m_lockHighlight;
|
||||||
const MessageData* m_msgHighlight;
|
const MessageData* m_msgHighlight;
|
||||||
|
bool m_msgHighlightActive;
|
||||||
const GpuEvent* m_gpuInfoWindow;
|
const GpuEvent* m_gpuInfoWindow;
|
||||||
const GpuEvent* m_gpuHighlight;
|
const GpuEvent* m_gpuHighlight;
|
||||||
uint64_t m_gpuInfoWindowThread;
|
uint64_t m_gpuInfoWindowThread;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user