Files
Renderive/Core/plottable/Performance_Snapshot.h
T
2026-08-03 09:30:03 +08:00

46 lines
999 B
C++

#pragma once
#include "../base/Geometry.h"
#include "../render/Image.h"
#include <cstdint>
#include <string>
#include <vector>
namespace renderive {
enum class Performance_Text_Role : std::uint8_t {
Section,
Label,
Value,
Unit,
Warning,
Muted
};
struct Performance_Display_Text_Run {
std::string text;
Performance_Text_Role role = Performance_Text_Role::Value;
RectF rect;
int column_index{};
};
struct Performance_Display_Snapshot {
Image image;
RectF destination_rect;
RectF viewport_rect;
RectF scroll_track_rect;
RectF scroll_thumb_rect;
RectF copy_button_rect;
RectF close_button_rect;
Size viewport_size;
double content_height{};
double scroll_offset{};
double max_scroll_offset{};
double line_height{};
std::uint64_t viewport_version{};
std::uint64_t content_version{};
std::vector<std::string> lines;
std::vector<Performance_Display_Text_Run> text_runs;
};
} // namespace renderive