diff --git a/server/TracyView.cpp b/server/TracyView.cpp index f9392179..aa1fb2a2 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -346,6 +346,18 @@ void View::DrawHelpMarker( const char* desc ) const } } +void View::AddAnnotation( int64_t start, int64_t end ) +{ + auto ann = std::make_unique(); + ann->range.active = true; + ann->range.min = start; + ann->range.max = end; + ann->color = 0x888888; + m_selectedAnnotation = ann.get(); + m_annotations.emplace_back( std::move( ann ) ); + pdqsort_branchless( m_annotations.begin(), m_annotations.end(), []( const auto& lhs, const auto& rhs ) { return lhs->range.min < rhs->range.min; } ); +} + static const char* CompressionName[] = { "LZ4", "LZ4 HC", @@ -1163,14 +1175,7 @@ bool View::DrawImpl() ImGui::Separator(); if( ImGui::Selectable( ICON_FA_STICKY_NOTE " Add annotation" ) ) { - auto ann = std::make_unique(); - ann->range.active = true; - ann->range.min = s; - ann->range.max = e; - ann->color = 0x888888; - m_selectedAnnotation = ann.get(); - m_annotations.emplace_back( std::move( ann ) ); - pdqsort_branchless( m_annotations.begin(), m_annotations.end(), []( const auto& lhs, const auto& rhs ) { return lhs->range.min < rhs->range.min; } ); + AddAnnotation( s, e ); } ImGui::EndPopup(); } diff --git a/server/TracyView.hpp b/server/TracyView.hpp index 6f95db84..239c8dec 100644 --- a/server/TracyView.hpp +++ b/server/TracyView.hpp @@ -253,6 +253,8 @@ private: void HandleRange( Range& range, int64_t timespan, const ImVec2& wpos, float w ); void HandleZoneViewMouse( int64_t timespan, const ImVec2& wpos, float w, double& pxns ); + void AddAnnotation( int64_t start, int64_t end ); + uint32_t GetThreadColor( uint64_t thread, int depth ); uint32_t GetSrcLocColor( const SourceLocation& srcloc, int depth ); uint32_t GetRawSrcLocColor( const SourceLocation& srcloc, int depth );