mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Also draw zig-zag on too-small zones.
This commit is contained in:
parent
3869c1dbca
commit
2acea5da3c
3
NEWS
3
NEWS
@ -58,7 +58,8 @@ v0.4 (xxxx-xx-xx)
|
|||||||
- Only one frame set can be active at once. The selected one is used for
|
- Only one frame set can be active at once. The selected one is used for
|
||||||
the frame navigation graph, frame navigation buttons and drawing frame
|
the frame navigation graph, frame navigation buttons and drawing frame
|
||||||
separators.
|
separators.
|
||||||
- Frames too small to be displayed will be replaced with a zig-zag pattern.
|
- Frames and zones too small to be displayed will be marked with a zig-zag
|
||||||
|
pattern.
|
||||||
|
|
||||||
v0.3.3 (2018-07-03)
|
v0.3.3 (2018-07-03)
|
||||||
-------------------
|
-------------------
|
||||||
|
|||||||
@ -986,6 +986,14 @@ bool View::DrawZoneFramesHeader()
|
|||||||
return hover;
|
return hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static uint32_t DarkenColor( uint32_t color )
|
||||||
|
{
|
||||||
|
return 0xFF000000 |
|
||||||
|
( std::min<int>( 0xFF, ( ( ( color & 0x00FF0000 ) >> 16 ) * 2 / 3 ) ) << 16 ) |
|
||||||
|
( std::min<int>( 0xFF, ( ( ( color & 0x0000FF00 ) >> 8 ) * 2 / 3 ) ) << 8 ) |
|
||||||
|
( std::min<int>( 0xFF, ( ( ( color & 0x000000FF ) ) * 2 / 3 ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
static void DrawZigZag( ImDrawList* draw, const ImVec2& wpos, double start, double end, double h, uint32_t color )
|
static void DrawZigZag( ImDrawList* draw, const ImVec2& wpos, double start, double end, double h, uint32_t color )
|
||||||
{
|
{
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
@ -1505,6 +1513,7 @@ int View::DrawZoneLevel( const Vector<ZoneEvent*>& vec, bool hover, double pxns,
|
|||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
||||||
|
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
||||||
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ) ) )
|
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ) ) )
|
||||||
{
|
{
|
||||||
if( num > 1 )
|
if( num > 1 )
|
||||||
@ -1774,6 +1783,7 @@ int View::DrawGpuZoneLevel( const Vector<GpuEvent*>& vec, bool hover, double pxn
|
|||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
||||||
|
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
||||||
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ) ) )
|
if( hover && ImGui::IsMouseHoveringRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ) ) )
|
||||||
{
|
{
|
||||||
if( num > 1 )
|
if( num > 1 )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user