46 lines
999 B
C++
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
|