mirror of
https://github.com/wolfpld/tracy
synced 2025-05-08 16:03:53 +00:00
Draw timer uncertainties on locks.
This commit is contained in:
parent
ad28bdf85d
commit
9bc80941c7
@ -27,6 +27,8 @@
|
|||||||
namespace tracy
|
namespace tracy
|
||||||
{
|
{
|
||||||
|
|
||||||
|
enum { MinVisSize = 3 };
|
||||||
|
|
||||||
static TextData* GetTextData( Event& zone )
|
static TextData* GetTextData( Event& zone )
|
||||||
{
|
{
|
||||||
if( !zone.text ) zone.text = new TextData {};
|
if( !zone.text ) zone.text = new TextData {};
|
||||||
@ -1345,7 +1347,6 @@ void View::DrawZones()
|
|||||||
|
|
||||||
int View::DrawZoneLevel( const Vector<Event*>& vec, bool hover, double pxns, const ImVec2& wpos, int _offset, int depth )
|
int View::DrawZoneLevel( const Vector<Event*>& vec, bool hover, double pxns, const ImVec2& wpos, int _offset, int depth )
|
||||||
{
|
{
|
||||||
enum { MinVisSize = 3 };
|
|
||||||
int maxdepth = depth;
|
int maxdepth = depth;
|
||||||
auto it = std::lower_bound( vec.begin(), vec.end(), m_zvStart - m_delay, [] ( const auto& l, const auto& r ) { return l->end < r; } );
|
auto it = std::lower_bound( vec.begin(), vec.end(), m_zvStart - m_delay, [] ( const auto& l, const auto& r ) { return l->end < r; } );
|
||||||
if( it != vec.end() )
|
if( it != vec.end() )
|
||||||
@ -1575,6 +1576,8 @@ int View::DrawLocks( uint64_t tid, bool hover, double pxns, const ImVec2& wpos,
|
|||||||
const auto offset = _offset + ostep * cnt;
|
const auto offset = _offset + ostep * cnt;
|
||||||
auto draw = ImGui::GetWindowDrawList();
|
auto draw = ImGui::GetWindowDrawList();
|
||||||
auto& srcloc = GetSourceLocation( lockmap.srcloc );
|
auto& srcloc = GetSourceLocation( lockmap.srcloc );
|
||||||
|
const auto dsz = m_delay * pxns;
|
||||||
|
const auto rsz = m_resolution * pxns;
|
||||||
|
|
||||||
while( vbegin < vend )
|
while( vbegin < vend )
|
||||||
{
|
{
|
||||||
@ -1731,6 +1734,20 @@ int View::DrawLocks( uint64_t tid, bool hover, double pxns, const ImVec2& wpos,
|
|||||||
const auto coutline = state == State::HasLock ? 0xFF3BA33B : ( state == State::HasBlockingLock ? 0xFF3BA3A3 : 0xFF3B3BD6 );
|
const auto coutline = state == State::HasLock ? 0xFF3BA33B : ( state == State::HasBlockingLock ? 0xFF3BA3A3 : 0xFF3B3BD6 );
|
||||||
draw->AddRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( px1, double( w + 10 ) ), offset + ty ), coutline, 2.f );
|
draw->AddRect( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( px1, double( w + 10 ) ), offset + ty ), coutline, 2.f );
|
||||||
}
|
}
|
||||||
|
if( dsz >= MinVisSize )
|
||||||
|
{
|
||||||
|
draw->AddRectFilled( wpos + ImVec2( px0, offset ), wpos + ImVec2( std::min( px0+dsz, px1 ), offset + ty ), 0x882222DD, 2.f );
|
||||||
|
}
|
||||||
|
if( rsz >= MinVisSize )
|
||||||
|
{
|
||||||
|
draw->AddLine( wpos + ImVec2( px0 + rsz, offset + ty/2 ), wpos + ImVec2( px0 - rsz, offset + ty/2 ), 0xAAFFFFFF );
|
||||||
|
draw->AddLine( wpos + ImVec2( px0 + rsz, offset + ty/4 ), wpos + ImVec2( px0 + rsz, offset + 3*ty/4 ), 0xAAFFFFFF );
|
||||||
|
draw->AddLine( wpos + ImVec2( px0 - rsz, offset + ty/4 ), wpos + ImVec2( px0 - rsz, offset + 3*ty/4 ), 0xAAFFFFFF );
|
||||||
|
|
||||||
|
draw->AddLine( wpos + ImVec2( px1 + rsz, offset + ty/2 ), wpos + ImVec2( px1 - rsz, offset + ty/2 ), 0xAAFFFFFF );
|
||||||
|
draw->AddLine( wpos + ImVec2( px1 + rsz, offset + ty/4 ), wpos + ImVec2( px1 + rsz, offset + 3*ty/4 ), 0xAAFFFFFF );
|
||||||
|
draw->AddLine( wpos + ImVec2( px1 - rsz, offset + ty/4 ), wpos + ImVec2( px1 - rsz, offset + 3*ty/4 ), 0xAAFFFFFF );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vbegin = next;
|
vbegin = next;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user