39 void push(
unsigned data);
65extern bool ImModalButton(
const char* label,
int lineIndex = 0,
int lineTotal = 1);
66extern void ImFillText(
const char* label, ImU32 col = 0xFFFFFFFF,
int lineIndex = 0,
int lineTotal = 1);
74 float resolution ,
bool logOrLinear =
true);
76extern bool ImBitmaskOptionPicker(
unsigned& value,
const char** labels,
const unsigned* masks,
unsigned count,
bool solo =
false,
int columns = 1);
78bool ImBitmaskOptionPicker(
unsigned& value,
const char* (&labels)[N],
const unsigned (&masks)[N],
bool solo =
false,
int columns = 1)
82template <
typename T,
typename Mask,
size_t N>
87 for (
unsigned i = 0; i < N; i++)
89 bool selected = (value & masks[i]) != 0;
90 if (ImGui::Checkbox(labels[i], &selected))
97 for (
unsigned j = 0; j < N; j++)
108 if (i != N - 1 && (i + 1) % columns != 0)
122bool ImHDRColorEdit(
const char* label, float3& color,
float& power,
float maxScale = 100.0f);
172 float length,
float& playhead,
float& pixelsPerSecond,
float& scrollX);
177 size_t time = ImGui::GetTime() * 1000;
178 time = time % (intervalMS * count);
179 return time / intervalMS;
185 float time = ImGui::GetTime();
186 intervalMS /= 1000.0f;
187 time = fmod(time, intervalMS);
188 return time / intervalMS;
197 return x < 0.5f ? 4 * pow(x, 3.0f) : 1.0f - pow(-2.0f * x + 2.0f, 3.0f) / 2.0f;
float LinearToSRGB(float linear)
Definition ImGui.cpp:548
float(*)(float) ImEaseFunction
Definition ImGui.hpp:200
float SRGBToLinear(float srgb)
Definition ImGui.cpp:554
void ImProfilerDrawHistogram(Vector< unsigned > &bins, ImProfilerHistogram const &histogram, size_t labelCount, float resolution, bool logOrLinear=true)
Definition ImGui.cpp:227
int ImProfilerAssignLanes(Span< ImProfilerSample >, Allocator *)
Definition ImGui.cpp:124
constexpr float ImEaseLinear(float x)
Definition ImGui.hpp:192
int ImBlink(int intervalMS, int count)
Definition ImGui.hpp:175
int ImProfilerDrawTable(Span< const ImProfilerSample >, float resolution)
Definition ImGui.cpp:191
bool ImModalButton(const char *label, int lineIndex=0, int lineTotal=1)
Definition ImGui.cpp:89
float ImBlinkF(float intervalMS)
Definition ImGui.hpp:183
ImTimelineResult ImTimeline(const char *strId, Span< const ImTimelineRow > rows, Span< ImTimelineStrip > strips, float length, float &playhead, float &pixelsPerSecond, float &scrollX)
Definition ImGui.cpp:294
void ImFillText(const char *label, ImU32 col=0xFFFFFFFF, int lineIndex=0, int lineTotal=1)
Definition ImGui.cpp:99
constexpr float ImEaseInOutCubic(float x)
Definition ImGui.hpp:195
void ImProfilerDrawTimestampLabel(Span< const ImProfilerSample > samples, float resolution, int numLabels)
Definition ImGui.cpp:142
int ImProfilerDrawLane(Span< const ImProfilerSample >, int lane)
Definition ImGui.cpp:161
bool ImHDRColorEdit(const char *label, float3 &color, float &power, float maxScale=100.0f)
Definition ImGui.cpp:596
bool ImLinearColorEdit4(const char *label, float4 &linearRgba)
Definition ImGui.cpp:579
bool ImBitmaskOptionPicker(unsigned &value, const char **labels, const unsigned *masks, unsigned count, bool solo=false, int columns=1)
Definition ImGui.cpp:264
bool ImLinearColorEdit3(const char *label, float3 &linearRgb)
Definition ImGui.cpp:570
Allocator interface (noexcept)
Definition Allocator.hpp:29
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:149
std::pair< First, Second > Pair
Alias for std::pair
Definition Container.hpp:33
std::basic_string< char, std::char_traits< char >, StlDefaultAllocator< char > > String
Alias for std::basic_string<char>, without an explicit allocator constructor.
Definition Container.hpp:120
std::span< T > Span
Alias for std::span
Definition Container.hpp:62
vec3 float3
Definition Math.hpp:26
Allocator * allocator
Definition ImGui.hpp:9
void clear()
Definition ImGui.hpp:40
void push(unsigned data)
Definition ImGui.cpp:14
ImProfilerHistogram(ImProfilerHistogram &&other)
Definition ImGui.hpp:34
Vector< unsigned > sorted
Definition ImGui.hpp:45
ImProfilerHistogram & operator=(ImProfilerHistogram const &)=delete
float m2
Definition ImGui.hpp:7
ImProfilerHistogram(size_t capacity, Allocator *alloc)
Definition ImGui.hpp:14
float mean
Definition ImGui.hpp:7
size_t head
Definition ImGui.hpp:8
ImProfilerHistogram(ImProfilerHistogram const &other)
Definition ImGui.hpp:18
ImProfilerHistogram & operator=(ImProfilerHistogram &&)=delete
float stddev() const
Definition ImGui.hpp:43
unsigned mode
Definition ImGui.hpp:46
unsigned maxCount
Definition ImGui.hpp:46
void bin(Vector< unsigned > &bins, size_t binCount, bool logOrLinear)
Definition ImGui.cpp:60
unsigned median
Definition ImGui.hpp:46
Vector< unsigned > samples
Definition ImGui.hpp:11
const size_t capacity
Definition ImGui.hpp:6
float variance() const
Definition ImGui.hpp:42
String label
Definition ImGui.hpp:58
int lane
Definition ImGui.hpp:56
size_t endTick
Definition ImGui.hpp:55
size_t startTick
Definition ImGui.hpp:54
constexpr bool operator<(const ImProfilerSample &o) const
Definition ImGui.hpp:60
ImColor color
Definition ImGui.hpp:59
int id
Definition ImGui.hpp:52
int muteToggledRow
Definition ImGui.hpp:150
bool rightClickedBackground
Definition ImGui.hpp:156
bool stripsChanged
Definition ImGui.hpp:152
int rightClickedRow
Definition ImGui.hpp:154
int clickedRow
Definition ImGui.hpp:149
int clickedStrip
Definition ImGui.hpp:151
int rightClickedStrip
Definition ImGui.hpp:155
bool scrubbed
Definition ImGui.hpp:153
bool muted
Definition ImGui.hpp:128
const char * label
Definition ImGui.hpp:127
const char * label
Definition ImGui.hpp:140
int row
Definition ImGui.hpp:136
bool selected
Definition ImGui.hpp:141
ImU32 color
Definition ImGui.hpp:139
float end
Definition ImGui.hpp:138
float start
Definition ImGui.hpp:137