14#define IM_ASSERT(cond) ICE_ASSERT_CORE(cond)
15#include <imgui/imgui.h>
26 inline constexpr auto Vec2(
ice::vec2f val)
noexcept -> ImVec2 {
return { val.v[0][0], val.v[0][1] }; };
27 inline constexpr auto Vec4(
ice::vec4f val)
noexcept -> ImVec4 {
return { val.v[0][0], val.v[0][1], val.v[0][2], val.v[0][3] }; };
32 return ImGui::ColorConvertFloat4ToU32({ srgb.
red, srgb.
green, srgb.
blue, srgb.
alpha });
37 inline bool Begin(
ice::String name,
bool* inout_open =
nullptr, ImGuiWindowFlags flags = 0) noexcept
54 bool selected =
false,
55 ImGuiSelectableFlags flags = 0,
69 void TextEx(
char const* begin,
char const* end) noexcept;
80 return { pos.x, pos.y };
83 template<
typename... Args>
84 inline void TextT(fmt::format_string<Args...> format, Args&&... args)
noexcept
86 fmt::format_to_n_result<char*> result = fmt::format_to_n(
90 ice::forward<Args>(args)...
95 template<
typename... Args>
99 TextT(format, ice::forward<Args>(args)...);
100 ImGui::PopStyleColor();
103 template<
typename... Args>
104 inline void TextRightT(fmt::format_string<Args...> format, Args&&... args)
noexcept
106 fmt::format_to_n_result<char*> result = fmt::format_to_n(
110 ice::forward<Args>(args)...
113 ImVec2
const avail = ImGui::GetContentRegionAvail();
115 float const cursor_pos = ImGui::GetCursorPosX();
116 float const new_cursor_pos = (cursor_pos + avail.x) - (text_size.x);
118 ImGui::SetCursorPosX(new_cursor_pos);
122 template<
typename... Args>
126 TextRightT(format, ice::forward<Args>(args)...);
127 ImGui::PopStyleColor();
133 ImGuiInputTextFlags flags = ImGuiInputTextFlags_None
137 std::string_view label,
139 ImVec2
const& size_arg = {0,0},
140 ImGuiButtonFlags flags = 0
Definition devui_imgui.hxx:24
constexpr auto Vec4(ice::vec4f val) noexcept -> ImVec4
Definition devui_imgui.hxx:27
constexpr auto Vec2(ice::vec2f val) noexcept -> ImVec2
Definition devui_imgui.hxx:26
constexpr auto Color(ice::Color color) noexcept -> ImColor
Definition devui_imgui.hxx:29
Definition devui_imgui.hxx:65
void TextEx(char const *begin, char const *end) noexcept
auto TempBuffer() noexcept -> char *
auto TempBufferSize() noexcept -> size_t
Definition devui_imgui.hxx:20
auto ToColor(ice::Color color) noexcept -> ImU32
Definition devui_imgui.hxx:73
bool InputText(ice::String label, ice::HeapString<> &out_string, ImGuiInputTextFlags flags=ImGuiInputTextFlags_None) noexcept
void EndLargeButton() noexcept
bool Selectable(ice::String label, bool selected=false, ImGuiSelectableFlags flags=0, ice::vec2f size={}) noexcept
Definition devui_imgui.hxx:52
void TextT(fmt::format_string< Args... > format, Args &&... args) noexcept
Definition devui_imgui.hxx:84
constexpr auto ToVec2(ice::vec4f pos) noexcept -> ImVec2
Definition devui_imgui.hxx:78
void TextRightColoredT(ice::Color col, fmt::format_string< Args... > format, Args &&... args) noexcept
Definition devui_imgui.hxx:123
bool BeginLargeButton(std::string_view label, int &inout_status, ImVec2 const &size_arg={0, 0}, ImGuiButtonFlags flags=0) noexcept
void TextRightT(fmt::format_string< Args... > format, Args &&... args) noexcept
Definition devui_imgui.hxx:104
void TextColoredT(ice::Color col, fmt::format_string< Args... > format, Args &&... args) noexcept
Definition devui_imgui.hxx:96
void TextUnformatted(ice::String text) noexcept
Definition devui_imgui.hxx:47
bool Begin(ice::String name, bool *inout_open=nullptr, ImGuiWindowFlags flags=0) noexcept
Definition devui_imgui.hxx:37
bool BeginListBox(ice::String label, ice::vec2f size={}) noexcept
Definition devui_imgui.hxx:42
void SetCursorScreenPos2(ice::vec2f pos) noexcept
Definition devui_imgui.hxx:145
ice::detail::ColorData< ColorFormat::StandardRGB > SRGB
Definition colors.hxx:18
vec< 2, f32 > vec2f
Definition vector.hxx:178
vec< 4, f32 > vec4f
Definition vector.hxx:188
SPDX-License-Identifier: MIT.
Definition array.hxx:12
ice::BasicString< char > String
Definition string.hxx:82
@ SRGB
Definition color_enums.hxx:12
ice::color::OkLCH Color
Definition colors.hxx:34
Definition heap_string.hxx:15
constexpr auto begin(this Self const &self) noexcept -> typename Self::ConstIterator
Definition readonly_operations.hxx:273