constfloatt=window->DC.StateStorage->GetFloat(column_id,default_t);// Cheaply store our floating point value inside the integer (could store an union into the map?)
constfloatt=window->DC.StateStorage->GetFloat(column_id,default_t);// Cheaply store our floating point value inside the integer (could store an union into the map?)
// Draw channels are used by the Columns API to "split" the render list into different channels while building, so items of each column can be batched together.
structImDrawChannel
{
ImVector<ImDrawCmd>cmd_buffer;
ImVector<ImDrawIdx>idx_buffer;
};
// Draw command list
// Draw command list
// This is the low-level list of polygons that ImGui functions are filling. At the end of the frame, all command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
// This is the low-level list of polygons that ImGui functions are filling. At the end of the frame, all command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
// At the moment, each ImGui window contains its own ImDrawList but they could potentially be merged in the future.
// At the moment, each ImGui window contains its own ImDrawList but they could potentially be merged in the future.
@ -1028,10 +1035,10 @@ struct ImDrawList
{
{
// This is what you have to render
// This is what you have to render
ImVector<ImDrawCmd>cmd_buffer;// Commands. Typically 1 command = 1 gpu draw call.
ImVector<ImDrawCmd>cmd_buffer;// Commands. Typically 1 command = 1 gpu draw call.
ImVector<ImDrawVert>vtx_buffer;// Vertex buffer.
ImVector<ImDrawIdx>idx_buffer;// Index buffer. Each command consume ImDrawCmd::idx_count of those
ImVector<ImDrawIdx>idx_buffer;// Index buffer. Each command consume ImDrawCmd::idx_count of those
ImVector<ImDrawVert>vtx_buffer;// Vertex buffer.
// [Internal to ImGui]
// [Internal, used while building lists]
constchar*owner_name;// Pointer to owner window's name (if any) for debugging
constchar*owner_name;// Pointer to owner window's name (if any) for debugging
ImDrawVert*vtx_write;// [Internal] point within vtx_buffer after each add command (to avoid using the ImVector<> operators too much)
ImDrawVert*vtx_write;// [Internal] point within vtx_buffer after each add command (to avoid using the ImVector<> operators too much)
IMGUI_APIvoidAddCallback(ImDrawCallbackcallback,void*callback_data);// Your rendering function must check for 'user_callback' in ImDrawCmd and call the function instead of rendering triangles.
IMGUI_APIvoidAddCallback(ImDrawCallbackcallback,void*callback_data);// Your rendering function must check for 'user_callback' in ImDrawCmd and call the function instead of rendering triangles.
IMGUI_APIvoidAddDrawCmd();// This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible
IMGUI_APIvoidAddDrawCmd();// This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible