3#include "pixelbullet/application/imgui/imgui_layer.h"
4#include "pixelbullet/math/validation.h"
6namespace pixelbullet::application_internal
8inline constexpr float k_default_imgui_style_scale = 1.0f;
9inline constexpr float k_default_imgui_font_size_pixels = 13.0f;
11[[nodiscard]]
inline float sanitize_imgui_positive_scale(
const float value,
const float fallback)
noexcept
13 return math::is_finite(value) && value > 0.0f ? value : fallback;
16[[nodiscard]]
inline ImGuiAppearanceConfig sanitize_imgui_appearance_config(
const ImGuiAppearanceConfig& appearance)
noexcept
18 ImGuiAppearanceConfig sanitized = appearance;
19 sanitized.style_scale = sanitize_imgui_positive_scale(sanitized.style_scale, k_default_imgui_style_scale);
20 sanitized.font_size_pixels = sanitize_imgui_positive_scale(sanitized.font_size_pixels, k_default_imgui_font_size_pixels);
21 sanitized.icon_font_size_pixels = sanitize_imgui_positive_scale(sanitized.icon_font_size_pixels, k_default_imgui_font_size_pixels);
22 sanitized.mono_font_size_pixels = sanitize_imgui_positive_scale(sanitized.mono_font_size_pixels, k_default_imgui_font_size_pixels);