ImVec2clip_max=ImVec2(window->Pos.x+window->Size.x-(p_opened?title_bar_rect.GetHeight()-3:style.FramePadding.x),text_max.y);// Match the size of CloseWindowButton()
// std::vector<> like class to avoid dragging dependencies (also: windows implementation of STL with debug enabled is absurdly slow, so let's bypass it so our code runs fast in debug).
// Lightweight std::vector<> like class to avoid dragging dependencies (also: windows implementation of STL with debug enabled is absurdly slow, so let's bypass it so our code runs fast in debug).
// Use '#define ImVector std::vector' if you want to use the STL type or your own type.
// Our implementation does NOT call c++ constructors! because the data types we use don't need them (but that could be added as well). Only provide the minimum functionalities we need.
// Our implementation does NOT call c++ constructors because we don't use them in ImGui. Don't use this class as a straight std::vector replacement in your code!
#ifndef ImVector
template<typenameT>
classImVector
@ -145,8 +146,11 @@ public:
// - struct ImGuiTextFilter // Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]"
// - struct ImGuiTextBuffer // Text buffer for logging/accumulating text
// - struct ImGuiStorage // Custom key value storage (if you need to alter open/close states manually)
// - struct ImGuiTextEditCallbackData // Shared state of ImGui::InputText() when using custom callbacks
// - struct ImColor // Helper functions to created packed 32-bit RGBA color values
// - struct ImDrawList // Draw command list
// - struct ImFont // TTF font loader, bake glyphs into bitmap
// - struct ImFontAtlas // Bake multiple fonts into a single texture, TTF font loader, bake glyphs into bitmap
// - struct ImFont // Single font
// ImGui end-user API
// In a namespace so that user can add extra functions in a separate file (e.g. Value() helpers for your vector or common types)
// Widgets: Drags (tip: ctrl+click on a drag box to input text)
IMGUI_APIboolDragFloat(constchar*label,float*v,floatv_speed=1.0f,floatv_min=0.0f,floatv_max=0.0f,constchar*display_format="%.3f",floatpower=1.0f);// If v_max >= v_max we have no bound
IMGUI_APIboolDragFloat(constchar*label,float*v,floatv_speed=1.0f,floatv_min=0.0f,floatv_max=0.0f,constchar*display_format="%.3f",floatpower=1.0f);// If v_min >= v_max we have no bound
IMGUI_APIboolDragInt(constchar*label,int*v,floatv_speed=1.0f,intv_min=0,intv_max=0,constchar*display_format="%.0f");// If v_max >= v_max we have no bound
IMGUI_APIboolDragInt(constchar*label,int*v,floatv_speed=1.0f,intv_min=0,intv_max=0,constchar*display_format="%.0f");// If v_min >= v_max we have no bound
IMGUI_APIImFont*AddFontFromMemoryTTF(void*ttf_data,intttf_size,floatsize_pixels,constImWchar*glyph_ranges=NULL,intfont_no=0);// Transfer ownership of 'ttf_data' to ImFontAtlas, will be deleted after Build()
IMGUI_APIImFont*AddFontFromMemoryCompressedTTF(constvoid*compressed_ttf_data,intcompressed_ttf_size,floatsize_pixels,constImWchar*glyph_ranges=NULL,intfont_no=0);// 'compressed_ttf_data' untouched and still owned by caller. Compress with binary_to_compressed_c.cpp
IMGUI_APIvoidClearTexData();// Saves RAM once the texture has been copied to graphics memory.
IMGUI_APIvoidClear();
IMGUI_APIvoidClearTexData();// Clear the CPU-side texture data. Saves RAM once the texture has been copied to graphics memory.
IMGUI_APIvoidClearInputData();// Clear the input TTF data (inc sizes, glyph ranges)
IMGUI_APIvoidClearFonts();// Clear the ImGui-side font data (glyphs storage, UV coordinates)
IMGUI_APIvoidClear();// Clear all
// Retrieve texture data
// User is in charge of copying the pixels into graphics memory, then call SetTextureUserID()
@ -1015,7 +1031,6 @@ struct ImFontAtlas
structImFontAtlasData;
ImVector<ImFontAtlasData*>InputData;// Internal data
IMGUI_APIboolBuild();// Build pixels data. This is automatically for you by the GetTexData*** functions.
IMGUI_APIvoidClearInputData();// Clear the input TTF data.