mirror of
https://github.com/wolfpld/tracy
synced 2025-04-30 20:53:52 +00:00
Store common constants in context variable.
This commit is contained in:
parent
66d8dab925
commit
b6b6e1edcf
@ -1,7 +1,6 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#include "imgui.h"
|
#include "TracyImGui.hpp"
|
||||||
|
|
||||||
#include "TracyTimelineController.hpp"
|
#include "TracyTimelineController.hpp"
|
||||||
|
|
||||||
namespace tracy
|
namespace tracy
|
||||||
@ -107,11 +106,19 @@ void TimelineController::End( double pxns, const ImVec2& wpos, bool hover, bool
|
|||||||
UpdateCenterItem();
|
UpdateCenterItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimelineContext ctx;
|
||||||
|
ctx.w = ImGui::GetContentRegionAvail().x - 1;
|
||||||
|
ctx.ty = ImGui::GetTextLineHeight();
|
||||||
|
ctx.scale = GetScale();
|
||||||
|
ctx.pxns = pxns;
|
||||||
|
ctx.nspx = 1.0 / pxns;
|
||||||
|
ctx.wpos = wpos;
|
||||||
|
|
||||||
for( auto& item : m_items )
|
for( auto& item : m_items )
|
||||||
{
|
{
|
||||||
if( item->WantPreprocess() && item->IsVisible() )
|
if( item->WantPreprocess() && item->IsVisible() )
|
||||||
{
|
{
|
||||||
item->Preprocess();
|
item->Preprocess( ctx );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,13 @@ namespace tracy
|
|||||||
class View;
|
class View;
|
||||||
class Worker;
|
class Worker;
|
||||||
|
|
||||||
|
struct TimelineContext
|
||||||
|
{
|
||||||
|
float w, ty, scale;
|
||||||
|
double pxns, nspx;
|
||||||
|
ImVec2 wpos;
|
||||||
|
};
|
||||||
|
|
||||||
class TimelineItem
|
class TimelineItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -22,7 +29,7 @@ public:
|
|||||||
void Draw( bool firstFrame, double pxns, int yOffset, const ImVec2& wpos, bool hover, float yMin, float yMax );
|
void Draw( bool firstFrame, double pxns, int yOffset, const ImVec2& wpos, bool hover, float yMin, float yMax );
|
||||||
|
|
||||||
bool WantPreprocess() const { return m_wantPreprocess; }
|
bool WantPreprocess() const { return m_wantPreprocess; }
|
||||||
virtual void Preprocess() { assert( false ); }
|
virtual void Preprocess( const TimelineContext& ctx ) { assert( false ); }
|
||||||
|
|
||||||
void VisibilityCheckbox();
|
void VisibilityCheckbox();
|
||||||
virtual void SetVisible( bool visible ) { m_visible = visible; }
|
virtual void SetVisible( bool visible ) { m_visible = visible; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user