#pragma once #include "Color.hpp" #include #include // To check whether a payload is of this type, use starts_with() #define BRUSSEL_TAG_PREFIX_GameObject "GameObject" #define BRUSSEL_TAG_PREFIX_Ires "Ires" namespace ImGui { const char* GetKeyNameGlfw(int key); void SetNextWindowSizeRelScreen(float xPercent, float yPercent, ImGuiCond cond = ImGuiCond_None); void SetNextWindowCentered(ImGuiCond cond = ImGuiCond_None); void PushDisabled(); void PopDisabled(); bool Button(const char* label, bool disabled); bool Button(const char* label, const ImVec2& sizeArg, bool disabled); bool ColorEdit3(const char* label, RgbaColor* color, ImGuiColorEditFlags flags = 0); bool ColorEdit4(const char* label, RgbaColor* color, ImGuiColorEditFlags flags = 0); bool ColorPicker3(const char* label, RgbaColor* color, ImGuiColorEditFlags flags = 0); bool ColorPicker4(const char* label, RgbaColor* color, ImGuiColorEditFlags flags = 0); bool Splitter(bool splitVertically, float thickness, float* size1, float* size2, float minSize1, float minSize2, float splitterLongAxisSize = -1.0f); void AddUnderLine(ImColor col); } // namespace ImGui namespace Utils { float CalcImageHeight(glm::vec2 original, int targetWidth); float CalcImageWidth(glm::vec2 original, float targetHeight); ImVec2 FitImage(glm::vec2 original); } // namespace Utils