Extract color highlight functionality.

This commit is contained in:
Bartosz Taudul 2019-09-11 18:52:25 +02:00
parent 0850145811
commit 8ddafe4153
2 changed files with 10 additions and 5 deletions

View File

@ -11897,6 +11897,14 @@ uint32_t View::GetRawZoneColor( const GpuEvent& ev )
return GetZoneColor( ev ); return GetZoneColor( ev );
} }
uint32_t View::HighlightColor( uint32_t color )
{
return 0xFF000000 |
( std::min<int>( 0xFF, ( ( ( color & 0x00FF0000 ) >> 16 ) + 25 ) ) << 16 ) |
( std::min<int>( 0xFF, ( ( ( color & 0x0000FF00 ) >> 8 ) + 25 ) ) << 8 ) |
( std::min<int>( 0xFF, ( ( ( color & 0x000000FF ) ) + 25 ) ) );
}
uint32_t View::GetZoneHighlight( const ZoneEvent& ev, uint64_t thread, int depth ) uint32_t View::GetZoneHighlight( const ZoneEvent& ev, uint64_t thread, int depth )
{ {
if( m_zoneInfoWindow == &ev ) if( m_zoneInfoWindow == &ev )
@ -11913,11 +11921,7 @@ uint32_t View::GetZoneHighlight( const ZoneEvent& ev, uint64_t thread, int depth
} }
else else
{ {
const auto color = GetZoneColor( ev, thread, depth ); return HighlightColor( GetZoneColor( ev, thread, depth ) );
return 0xFF000000 |
( std::min<int>( 0xFF, ( ( ( color & 0x00FF0000 ) >> 16 ) + 25 ) ) << 16 ) |
( std::min<int>( 0xFF, ( ( ( color & 0x0000FF00 ) >> 8 ) + 25 ) ) << 8 ) |
( std::min<int>( 0xFF, ( ( ( color & 0x000000FF ) ) + 25 ) ) );
} }
} }

View File

@ -159,6 +159,7 @@ private:
uint32_t GetZoneColor( const GpuEvent& ev ); uint32_t GetZoneColor( const GpuEvent& ev );
uint32_t GetRawZoneColor( const ZoneEvent& ev, uint64_t thread, int depth ); uint32_t GetRawZoneColor( const ZoneEvent& ev, uint64_t thread, int depth );
uint32_t GetRawZoneColor( const GpuEvent& ev ); uint32_t GetRawZoneColor( const GpuEvent& ev );
uint32_t HighlightColor( uint32_t color );
uint32_t GetZoneHighlight( const ZoneEvent& ev, uint64_t thread, int depth ); uint32_t GetZoneHighlight( const ZoneEvent& ev, uint64_t thread, int depth );
uint32_t GetZoneHighlight( const GpuEvent& ev ); uint32_t GetZoneHighlight( const GpuEvent& ev );
float GetZoneThickness( const ZoneEvent& ev ); float GetZoneThickness( const ZoneEvent& ev );