API Reference

This page documents the wrapper functions we have for the ImGui API. The Backends and the Makie integration are documented separately.

You can always get the current ImGui version with:


CImGui.AcceptDragDropPayloadFunction
AcceptDragDropPayload(type) -> Ptr{CImGui.lib.ImGuiPayload}
AcceptDragDropPayload(
    type,
    flags::Union{CImGui.lib.ImGuiDragDropFlags_, Integer}
) -> Ptr{CImGui.lib.ImGuiPayload}

Accept contents of a given type. If ImGuiDragDropFlags_AcceptBeforeDelivery is set you can peek into the payload before the mouse button is released.

Upstream link.

source
CImGui.ActivateItemByIDMethod
ActivateItemByID(id::Integer)

Activate an item by ID (button, checkbox, tree node etc.). Activation is queued and processed on the next frame when the item is encountered again.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.AddBezierCubicFunction
AddBezierCubic(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness
)
AddBezierCubic(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness,
    num_segments
)

Cubic Bezier (4 control points).

Upstream link.

source
CImGui.AddBezierQuadraticFunction
AddBezierQuadratic(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness
)
AddBezierQuadratic(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness,
    num_segments
)

Quadratic Bezier (3 control points).

Upstream link.

source
CImGui.AddCallbackMethod
AddCallback(
    self::Ptr{CImGui.lib.ImDrawList},
    callback::Union{Ptr{Nothing}, Base.CFunction},
    callback_data
)

Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles.

Upstream link.

source
CImGui.AddCircleFunction
AddCircle(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer
)
AddCircle(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer,
    num_segments
)
AddCircle(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer,
    num_segments,
    thickness
)

Upstream link.

source
CImGui.AddCircleFilledFunction
AddCircleFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer
)
AddCircleFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer,
    num_segments
)

Upstream link.

source
CImGui.AddContextHookMethod
AddContextHook(
    context::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    hook::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContextHook}}
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.AddCustomRectFontGlyphFunction
AddCustomRectFontGlyph(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    id::UInt16,
    width,
    height,
    advance_x
) -> Int32
AddCustomRectFontGlyph(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    id::UInt16,
    width,
    height,
    advance_x,
    offset::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Int32

Upstream link.

source
CImGui.AddDrawCmdMethod
AddDrawCmd(self::Ptr{CImGui.lib.ImDrawList})

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.

Upstream link.

source
CImGui.AddDrawListMethod
AddDrawList(
    self::Ptr{CImGui.lib.ImDrawData},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}}
)

Helper to add an external draw list into an existing ImDrawData.

Upstream link.

source
CImGui.AddDrawListToDrawDataExMethod
AddDrawListToDrawDataEx(
    draw_data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawData}},
    out_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_ImDrawListPtr}},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.AddEllipseFunction
AddEllipse(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddEllipse(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rot
)
AddEllipse(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rot,
    num_segments
)
AddEllipse(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rot,
    num_segments,
    thickness
)

Upstream link.

source
CImGui.AddEllipseFilledFunction
AddEllipseFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddEllipseFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rot
)
AddEllipseFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rot,
    num_segments
)

Upstream link.

source
CImGui.AddFocusEventMethod
AddFocusEvent(self::Ptr{CImGui.lib.ImGuiIO}, focused)

Queue a gain/loss of focus for the application (generally based on OS/platform focus of your window).

Upstream link.

source
CImGui.AddFontMethod
AddFont(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}

Upstream link.

source
CImGui.AddFontDefaultFunction
AddFontDefault(
    self::Ptr{CImGui.lib.ImFontAtlas}
) -> Ptr{CImGui.lib.ImFont}
AddFontDefault(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}

Upstream link.

source
CImGui.AddFontFromFileTTFFunction
AddFontFromFileTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    filename,
    size_pixels
) -> Ptr{CImGui.lib.ImFont}
AddFontFromFileTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    filename,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}
AddFontFromFileTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    filename,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    glyph_ranges::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Ptr{CImGui.lib.ImFont}

Upstream link.

source
CImGui.AddFontFromMemoryCompressedBase85TTFFunction
AddFontFromMemoryCompressedBase85TTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data_base85,
    size_pixels
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryCompressedBase85TTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data_base85,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryCompressedBase85TTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data_base85,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    glyph_ranges::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Ptr{CImGui.lib.ImFont}

'compressedfontdatabase85' still owned by caller. Compress with binarytocompressedc.cpp with -base85 parameter.

Upstream link.

source
CImGui.AddFontFromMemoryCompressedTTFFunction
AddFontFromMemoryCompressedTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data,
    compressed_font_data_size,
    size_pixels
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryCompressedTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data,
    compressed_font_data_size,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryCompressedTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    compressed_font_data,
    compressed_font_data_size,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    glyph_ranges::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Ptr{CImGui.lib.ImFont}

'compressedfontdata' still owned by caller. Compress with binarytocompressed_c.cpp.

Upstream link.

source
CImGui.AddFontFromMemoryTTFFunction
AddFontFromMemoryTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font_data,
    font_data_size,
    size_pixels
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font_data,
    font_data_size,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}}
) -> Ptr{CImGui.lib.ImFont}
AddFontFromMemoryTTF(
    self::Ptr{CImGui.lib.ImFontAtlas},
    font_data,
    font_data_size,
    size_pixels,
    font_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    glyph_ranges::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Ptr{CImGui.lib.ImFont}

Note: Transfer ownership of 'ttfdata' to ImFontAtlas! Will be deleted after destruction of the atlas. Set fontcfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed.

Upstream link.

source
CImGui.AddGlyphMethod
AddGlyph(
    self::Ptr{CImGui.lib.ImFont},
    src_cfg::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    c::UInt16,
    x0,
    y0,
    x1,
    y1,
    u0,
    v0,
    u1,
    v1,
    advance_x
)

Upstream link.

source
CImGui.AddImageFunction
AddImage(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImage(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImage(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImage(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.AddImageQuadFunction
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
AddImageQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.AddImageRoundedFunction
AddImageRounded(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding
)
AddImageRounded(
    self::Ptr{CImGui.lib.ImDrawList},
    user_texture_id::Ptr{Nothing},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)

Upstream link.

source
CImGui.AddKeyAnalogEventMethod
AddKeyAnalogEvent(
    self::Ptr{CImGui.lib.ImGuiIO},
    key::CImGui.lib.ImGuiKey,
    down,
    v
)

Queue a new key down/up event for analog values (e.g. ImGuiKeyGamepad values). Dead-zones should be handled by the backend.

Upstream link.

source
CImGui.AddKeyEventMethod
AddKeyEvent(
    self::Ptr{CImGui.lib.ImGuiIO},
    key::CImGui.lib.ImGuiKey,
    down
)

Queue a new key down/up event. Key should be "translated" (as in, generally ImGuiKey_A matches the key end-user would use to emit an 'A' character).

Upstream link.

source
CImGui.AddLineFunction
AddLine(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddLine(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness
)

Upstream link.

source
CImGui.AddMousePosEventMethod
AddMousePosEvent(self::Ptr{CImGui.lib.ImGuiIO}, x, y)

Queue a mouse position update. Use -FLTMAX,-FLTMAX to signify no mouse (e.g. app not focused and not hovered).

Upstream link.

source
CImGui.AddMouseViewportEventMethod
AddMouseViewportEvent(
    self::Ptr{CImGui.lib.ImGuiIO},
    id::Integer
)

Queue a mouse hovered viewport. Requires backend to set ImGuiBackendFlags_HasMouseHoveredViewport to call this (for multi-viewport support).

Upstream link.

source
CImGui.AddMouseWheelEventMethod
AddMouseWheelEvent(
    self::Ptr{CImGui.lib.ImGuiIO},
    wheel_x,
    wheel_y
)

Queue a mouse wheel update. wheely<0: scroll down, wheely>0: scroll up, wheelx<0: scroll right, wheelx>0: scroll left.

Upstream link.

source
CImGui.AddNgonFunction
AddNgon(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer,
    num_segments
)
AddNgon(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    col::Integer,
    num_segments,
    thickness
)

Upstream link.

source
CImGui.AddPolylineMethod
AddPolyline(
    self::Ptr{CImGui.lib.ImDrawList},
    points::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    num_points,
    col::Integer,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer},
    thickness
)

Upstream link.

source
CImGui.AddQuadFunction
AddQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddQuad(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness
)

Upstream link.

source
CImGui.AddQuadFilledMethod
AddQuadFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.AddRangesMethod
AddRanges(
    self::Ptr{CImGui.lib.ImFontGlyphRangesBuilder},
    ranges::Union{Ptr{Nothing}, Ref{UInt16}}
)

Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext.

Upstream link.

source
CImGui.AddRectFunction
AddRect(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddRect(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding
)
AddRect(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)
AddRect(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer},
    thickness
)

A: upper-left, b: lower-right (== upper-left + size).

Upstream link.

source
CImGui.AddRectFilledFunction
AddRectFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddRectFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding
)
AddRectFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)

A: upper-left, b: lower-right (== upper-left + size).

Upstream link.

source
CImGui.AddRectFilledMultiColorMethod
AddRectFilledMultiColor(
    self::Ptr{CImGui.lib.ImDrawList},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col_upr_left::Integer,
    col_upr_right::Integer,
    col_bot_right::Integer,
    col_bot_left::Integer
)

Upstream link.

source
CImGui.AddRemapCharFunction
AddRemapChar(
    self::Ptr{CImGui.lib.ImFont},
    dst::UInt16,
    src::UInt16
)
AddRemapChar(
    self::Ptr{CImGui.lib.ImFont},
    dst::UInt16,
    src::UInt16,
    overwrite_dst
)

Makes 'dst' character/glyph points to 'src' character/glyph. Currently needs to be called AFTER fonts have been built.

Upstream link.

source
CImGui.AddTextFunction
AddText(
    self::Ptr{CImGui.lib.ImFontGlyphRangesBuilder},
    text
)
AddText(
    self::Ptr{CImGui.lib.ImFontGlyphRangesBuilder},
    text,
    text_end
)

Add string (each character of the UTF-8 string are added).

Upstream link.

source
CImGui.AddTextFunction
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String}
)
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String},
    text_end::Union{Ptr{Int8}, Ptr{Nothing}, String}
)

Upstream link.

source
CImGui.AddTextFunction
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    font_size::Real,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String}
)
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    font_size::Real,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String},
    text_end::Union{Ptr{Int8}, Ptr{Nothing}, String}
)
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    font_size::Real,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String},
    text_end::Union{Ptr{Int8}, Ptr{Nothing}, String},
    wrap_width::Real
)
AddText(
    self::Ptr{CImGui.lib.ImDrawList},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    font_size::Real,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    text_begin::Union{Ptr{Int8}, Ptr{Nothing}, String},
    text_end::Union{Ptr{Int8}, Ptr{Nothing}, String},
    wrap_width::Real,
    cpu_fine_clip_rect::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec4}, Ref{NTuple{4, T} where T}}
)

Upstream link.

source
CImGui.AddTriangleFunction
AddTriangle(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
AddTriangle(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    thickness
)

Upstream link.

source
CImGui.AddTriangleFilledMethod
AddTriangleFilled(
    self::Ptr{CImGui.lib.ImDrawList},
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.AlignTextToFramePaddingMethod
AlignTextToFramePadding()

Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item).

Upstream link.

source
CImGui.AppendMethod
Append(
    self::Ptr{CImGui.lib.ImGuiTextIndex},
    base,
    old_size,
    new_size
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ApplyRequestsMethod
ApplyRequests(
    self::Ptr{CImGui.lib.ImGuiSelectionBasicStorage},
    ms_io::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiMultiSelectIO}}
)

Apply selection requests coming from BeginMultiSelect() and EndMultiSelect() functions. It uses 'items_count' passed to BeginMultiSelect().

Upstream link.

source
CImGui.ApplyRequestsMethod
ApplyRequests(
    self::Ptr{CImGui.lib.ImGuiSelectionExternalStorage},
    ms_io::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiMultiSelectIO}}
)

Apply selection requests by using AdapterSetItemSelected() calls.

Upstream link.

source
CImGui.ArrowButtonExFunction
ArrowButtonEx(
    str_id,
    dir::CImGui.lib.ImGuiDir,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ArrowButtonEx(
    str_id,
    dir::CImGui.lib.ImGuiDir,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiButtonFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginFunction
Begin(name::Union{Ptr{Int8}, Ptr{Nothing}, String}) -> Bool
Begin(
    name::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_open
) -> Bool
Begin(
    name::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_open,
    flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.BeginFunction
Begin(self::Ptr{CImGui.lib.ImGuiListClipper}, items_count)
Begin(
    self::Ptr{CImGui.lib.ImGuiListClipper},
    items_count,
    items_height
)

Upstream link.

source
CImGui.BeginBoxSelectMethod
BeginBoxSelect(
    scope_rect::CImGui.lib.ImRect,
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    box_select_id::Integer,
    ms_flags::Union{CImGui.lib.ImGuiMultiSelectFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginChildFunction
BeginChild(id::Integer) -> Bool
BeginChild(
    id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
BeginChild(
    id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    child_flags::Union{CImGui.lib.ImGuiChildFlags_, Integer}
) -> Bool
BeginChild(
    id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    child_flags::Union{CImGui.lib.ImGuiChildFlags_, Integer},
    window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.BeginChildFunction
BeginChild(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
BeginChild(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
BeginChild(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    child_flags::Union{CImGui.lib.ImGuiChildFlags_, Integer}
) -> Bool
BeginChild(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    child_flags::Union{CImGui.lib.ImGuiChildFlags_, Integer},
    window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.BeginChildExMethod
BeginChildEx(
    name,
    id::Integer,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    child_flags::Union{CImGui.lib.ImGuiChildFlags_, Integer},
    window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginColumnsFunction
BeginColumns(str_id, count)
BeginColumns(
    str_id,
    count,
    flags::Union{CImGui.lib.ImGuiOldColumnFlags_, Integer}
)

Setup number of columns. use an identifier to distinguish multiple column sets. close with EndColumns().

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginComboFunction
BeginCombo(label, preview_value) -> Bool
BeginCombo(
    label,
    preview_value,
    flags::Union{CImGui.lib.ImGuiComboFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.BeginComboPopupMethod
BeginComboPopup(
    popup_id::Integer,
    bb::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiComboFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginDockedMethod
BeginDocked(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    p_open
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginDragDropSourceFunction
BeginDragDropSource() -> Bool
BeginDragDropSource(
    flags::Union{CImGui.lib.ImGuiDragDropFlags_, Integer}
) -> Bool

Call after submitting an item which may be dragged. when this return true, you can call SetDragDropPayload() + EndDragDropSource().

Upstream link.

source
CImGui.BeginDragDropTargetMethod
BeginDragDropTarget() -> Bool

Call after submitting an item that may receive a payload. If this returns true, you can call AcceptDragDropPayload() + EndDragDropTarget().

Upstream link.

source
CImGui.BeginListBoxFunction
BeginListBox(label) -> Bool
BeginListBox(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

Open a framed scrolling region.

Upstream link.

source
CImGui.BeginMenuExFunction
BeginMenuEx(label, icon) -> Bool
BeginMenuEx(label, icon, enabled) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginMultiSelectFunction
BeginMultiSelect(
    flags::Union{CImGui.lib.ImGuiMultiSelectFlags_, Integer}
) -> Ptr{CImGui.lib.ImGuiMultiSelectIO}
BeginMultiSelect(
    flags::Union{CImGui.lib.ImGuiMultiSelectFlags_, Integer},
    selection_size
) -> Ptr{CImGui.lib.ImGuiMultiSelectIO}
BeginMultiSelect(
    flags::Union{CImGui.lib.ImGuiMultiSelectFlags_, Integer},
    selection_size,
    items_count
) -> Ptr{CImGui.lib.ImGuiMultiSelectIO}

Upstream link.

source
CImGui.BeginPopupFunction
BeginPopup(str_id) -> Bool
BeginPopup(
    str_id,
    flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool

Return true if the popup is open, and you can start outputting to it.

Upstream link.

source
CImGui.BeginPopupContextItemFunction
BeginPopupContextItem() -> Bool
BeginPopupContextItem(str_id) -> Bool
BeginPopupContextItem(
    str_id,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
) -> Bool

Open+begin popup when clicked on last item. Use str_id==NULL to associate the popup to previous item. If you want to use that on a non-interactive item such as Text() you need to pass in an explicit ID here. read comments in .cpp!

Upstream link.

source
CImGui.BeginPopupContextVoidFunction
BeginPopupContextVoid() -> Bool
BeginPopupContextVoid(str_id) -> Bool
BeginPopupContextVoid(
    str_id,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
) -> Bool

Open+begin popup when clicked in void (where there are no windows).

Upstream link.

source
CImGui.BeginPopupContextWindowFunction
BeginPopupContextWindow() -> Bool
BeginPopupContextWindow(str_id) -> Bool
BeginPopupContextWindow(
    str_id,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
) -> Bool

Open+begin popup when clicked on current window.

Upstream link.

source
CImGui.BeginPopupExMethod
BeginPopupEx(
    id::Integer,
    extra_window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginPopupModalFunction
BeginPopupModal(name) -> Bool
BeginPopupModal(name, p_open) -> Bool
BeginPopupModal(
    name,
    p_open,
    flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool

Return true if the modal is open, and you can start outputting to it.

Upstream link.

source
CImGui.BeginTabBarFunction
BeginTabBar(str_id) -> Bool
BeginTabBar(
    str_id,
    flags::Union{CImGui.lib.ImGuiTabBarFlags_, Integer}
) -> Bool

Create and append into a TabBar.

Upstream link.

source
CImGui.BeginTabBarExMethod
BeginTabBarEx(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    bb::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiTabBarFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginTabItemFunction
BeginTabItem(label) -> Bool
BeginTabItem(label, p_open) -> Bool
BeginTabItem(
    label,
    p_open,
    flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer}
) -> Bool

Create a Tab. Returns true if the Tab is selected.

Upstream link.

source
CImGui.BeginTableFunction
BeginTable(str_id, columns) -> Bool
BeginTable(
    str_id,
    columns,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer}
) -> Bool
BeginTable(
    str_id,
    columns,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer},
    outer_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
BeginTable(
    str_id,
    columns,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer},
    outer_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    inner_width
) -> Bool

Upstream link.

source
CImGui.BeginTableExFunction
BeginTableEx(name, id::Integer, columns_count) -> Bool
BeginTableEx(
    name,
    id::Integer,
    columns_count,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer}
) -> Bool
BeginTableEx(
    name,
    id::Integer,
    columns_count,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer},
    outer_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
BeginTableEx(
    name,
    id::Integer,
    columns_count,
    flags::Union{CImGui.lib.ImGuiTableFlags_, Integer},
    outer_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    inner_width
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginTooltipExMethod
BeginTooltipEx(
    tooltip_flags::Union{CImGui.lib.ImGuiTooltipFlags_, Integer},
    extra_window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BeginViewportSideBarMethod
BeginViewportSideBar(
    name,
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
    dir::CImGui.lib.ImGuiDir,
    size,
    window_flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BringWindowToDisplayBehindMethod
BringWindowToDisplayBehind(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    above_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.BuildMethod
Build(self::Ptr{CImGui.lib.ImFontAtlas}) -> Bool

Build pixels data. This is called automatically for you by the GetTexData*** functions.

Upstream link.

source
CImGui.BuildRangesMethod
BuildRanges(
    self::Ptr{CImGui.lib.ImFontGlyphRangesBuilder},
    out_ranges::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_ImWchar}}
)

Output new ranges.

Upstream link.

source
CImGui.BulletMethod
Bullet()

Draw a small circle + keep the cursor on the same line. advance cursor x position by GetTreeNodeToLabelSpacing(), same distance that TreeNode() uses.

Upstream link.

source
CImGui.ButtonBehaviorFunction
ButtonBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    out_hovered,
    out_held
) -> Bool
ButtonBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    out_hovered,
    out_held,
    flags::Union{CImGui.lib.ImGuiButtonFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ButtonExFunction
ButtonEx(label) -> Bool
ButtonEx(
    label,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ButtonEx(
    label,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiButtonFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CalcCustomRectUVMethod
CalcCustomRectUV(
    self::Ptr{CImGui.lib.ImFontAtlas},
    rect::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontAtlasCustomRect}},
    out_uv_min::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    out_uv_max::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)

Upstream link.

source
CImGui.CalcItemSizeMethod
CalcItemSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    default_w,
    default_h
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CalcItemWidthMethod
CalcItemWidth() -> Float32

Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.

Upstream link.

source
CImGui.CalcTextSizeFunction
CalcTextSize(text) -> CImGui.lib.ImVec2
CalcTextSize(text, text_end) -> CImGui.lib.ImVec2
CalcTextSize(
    text,
    text_end,
    hide_text_after_double_hash
) -> CImGui.lib.ImVec2
CalcTextSize(
    text,
    text_end,
    hide_text_after_double_hash,
    wrap_width
) -> CImGui.lib.ImVec2

Upstream link.

source
CImGui.CalcTextSizeAFunction
CalcTextSizeA(
    self::Ptr{CImGui.lib.ImFont},
    size,
    max_width,
    wrap_width,
    text_begin
) -> CImGui.lib.ImVec2
CalcTextSizeA(
    self::Ptr{CImGui.lib.ImFont},
    size,
    max_width,
    wrap_width,
    text_begin,
    text_end
) -> CImGui.lib.ImVec2
CalcTextSizeA(
    self::Ptr{CImGui.lib.ImFont},
    size,
    max_width,
    wrap_width,
    text_begin,
    text_end,
    remaining
) -> CImGui.lib.ImVec2

Utf8.

Upstream link.

source
CImGui.CalcWorkRectPosMethod
CalcWorkRectPos(
    self::Ptr{CImGui.lib.ImGuiViewportP},
    inset_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CalcWorkRectSizeMethod
CalcWorkRectSize(
    self::Ptr{CImGui.lib.ImGuiViewportP},
    inset_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    inset_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CallContextHooksMethod
CallContextHooks(
    context::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    type::CImGui.lib.ImGuiContextHookType
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClearMethod
Clear(self::Ptr{CImGui.lib.ImDrawListSplitter})

Do not clear Channels[] so our allocations are reused next frame.

Upstream link.

source
CImGui.ClearMethod
Clear(self::Ptr{CImGui.lib.ImGuiKeyRoutingTable})
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClearMethod
Clear(self::Ptr{CImGui.lib.ImGuiMultiSelectTempData})

Zero-clear except IO as we preserve IO.Requests[] buffer allocation.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClearMethod
Clear(self::Ptr{CImGui.lib.ImGuiTypingSelectState})

We preserve remaining data for easier debugging.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClearFlagsMethod
ClearFlags(self::Ptr{CImGui.lib.ImGuiNextItemData})

Also cleared manually by ItemAdd()!

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClearInputDataMethod
ClearInputData(self::Ptr{CImGui.lib.ImFontAtlas})

Clear input data (all ImFontConfig structures including sizes, TTF data, glyph ranges, etc.) = all the data used to build the texture and fonts.

Upstream link.

source
CImGui.ClearInputKeysMethod
ClearInputKeys(self::Ptr{CImGui.lib.ImGuiIO})

Clear current keyboard/gamepad state + current frame text input buffer. Equivalent to releasing all keys/buttons.

Upstream link.

source
CImGui.ClearTexDataMethod
ClearTexData(self::Ptr{CImGui.lib.ImFontAtlas})

Clear output texture data (CPU side). Saves RAM once the texture has been copied to graphics memory.

Upstream link.

source
CImGui.ClipWithMethod
ClipWith(self::Ptr{CImGui.lib.ImRect}, r::CImGui.lib.ImRect)

Simple version, may lead to an inverted rectangle, which is fine for Contains/Overlaps test but not for display.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClipWithFullMethod
ClipWithFull(
    self::Ptr{CImGui.lib.ImRect},
    r::CImGui.lib.ImRect
)

Full version, ensure both points are fully clipped.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CloseButtonMethod
CloseButton(
    id::Integer,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ClosePopupsOverWindowMethod
ClosePopupsOverWindow(
    ref_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    restore_focus_to_window_under_popup
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CollapseButtonMethod
CollapseButton(
    id::Integer,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    dock_node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CollapsingHeaderFunction
CollapsingHeader(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
CollapsingHeader(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer}
) -> Bool

If returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().

Upstream link.

source
CImGui.CollapsingHeaderFunction
CollapsingHeader(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_visible::Union{Ptr{Nothing}, Ref{Bool}}
) -> Bool
CollapsingHeader(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_visible::Union{Ptr{Nothing}, Ref{Bool}},
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer}
) -> Bool

When 'pvisible != NULL': if '*pvisible==true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if '*p_visible==false' don't display the header.

Upstream link.

source
CImGui.ColorButtonFunction
ColorButton(
    desc_id,
    col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> Bool
ColorButton(
    desc_id,
    col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer}
) -> Bool
ColorButton(
    desc_id,
    col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

Display a color square/button, hover for details, return true when pressed.

Upstream link.

source
CImGui.ColorPicker4Function
ColorPicker4(label, col) -> Bool
ColorPicker4(
    label,
    col,
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer}
) -> Bool
ColorPicker4(
    label,
    col,
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer},
    ref_col
) -> Bool

Upstream link.

source
CImGui.ColorTooltipMethod
ColorTooltip(
    text,
    col,
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ComboFunction
Combo(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items::Vector{String}
) -> Bool
Combo(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items::Vector{String},
    popup_max_height_in_items::Integer
) -> Bool

Upstream link.

source
CImGui.ComboFunction
Combo(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items_separated_by_zeros::Union{Ptr{Int8}, String}
) -> Bool
Combo(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items_separated_by_zeros::Union{Ptr{Int8}, String},
    popup_max_height_in_items::Integer
) -> Bool

Separate items with within a string, end item-list with . e.g. "OneTwoThree".

Upstream link.

source
CImGui.ContainsWithPadMethod
ContainsWithPad(
    self::Ptr{CImGui.lib.ImRect},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pad::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.CreateContextFunction
CreateContext() -> Ptr{CImGui.lib.ImGuiContext}
CreateContext(
    shared_font_atlas::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontAtlas}}
) -> Ptr{CImGui.lib.ImGuiContext}

Upstream link.

source
CImGui.CursorAnimResetMethod
CursorAnimReset(self::Ptr{CImGui.lib.ImGuiInputTextState})

After a user-input the cursor stays on for a while without blinking.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeApplyFromTextFunction
DataTypeApplyFromText(
    buf,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format
) -> Bool
DataTypeApplyFromText(
    buf,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format,
    p_data_when_empty
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeApplyOpMethod
DataTypeApplyOp(
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    op,
    output,
    arg_1,
    arg_2
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeClampMethod
DataTypeClamp(
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeCompareMethod
DataTypeCompare(
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    arg_1,
    arg_2
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeFormatStringMethod
DataTypeFormatString(
    buf,
    buf_size,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DataTypeGetInfoMethod
DataTypeGetInfo(
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer}
) -> Ptr{CImGui.lib.ImGuiDataTypeInfo}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DeIndexAllBuffersMethod
DeIndexAllBuffers(self::Ptr{CImGui.lib.ImDrawData})

Helper to convert all buffers from indexed to non-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering!

Upstream link.

source
CImGui.DebugAllocHookMethod
DebugAllocHook(
    info::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDebugAllocInfo}},
    frame_count,
    ptr,
    size
)

Size >= 0 : alloc, size = -1 : free.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DebugHookIdInfoMethod
DebugHookIdInfo(
    id::Integer,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    data_id,
    data_id_end
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DebugNodeDrawCmdShowMeshAndBoundingBoxMethod
DebugNodeDrawCmdShowMeshAndBoundingBox(
    out_draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    draw_cmd::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawCmd}},
    show_mesh,
    show_aabb
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DebugNodeDrawListMethod
DebugNodeDrawList(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewportP}},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    label
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DebugNodeFontGlyphMethod
DebugNodeFontGlyph(
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    glyph::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontGlyph}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DebugRenderViewportThumbnailMethod
DebugRenderViewportThumbnail(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewportP}},
    bb::CImGui.lib.ImRect
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DeclColumnsMethod
DeclColumns(
    self::Ptr{CImGui.lib.ImGuiMenuColumns},
    w_icon,
    w_label,
    w_shortcut,
    w_mark
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DestroyPlatformWindowsMethod
DestroyPlatformWindows()

Call DestroyWindow platform functions for all viewports. call from backend Shutdown() if you need to close platform windows before imgui shutdown. otherwise will be called by DestroyContext().

Upstream link.

source
CImGui.DockBuilderAddNodeFunction
DockBuilderAddNode() -> UInt32
DockBuilderAddNode(node_id::Integer) -> UInt32
DockBuilderAddNode(
    node_id::Integer,
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer}
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockBuilderCopyDockSpaceMethod
DockBuilderCopyDockSpace(
    src_dockspace_id::Integer,
    dst_dockspace_id::Integer,
    in_window_remap_pairs::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_const_charPtr}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockBuilderCopyNodeMethod
DockBuilderCopyNode(
    src_node_id::Integer,
    dst_node_id::Integer,
    out_node_remap_pairs::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_ImGuiID}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockBuilderRemoveNodeChildNodesMethod
DockBuilderRemoveNodeChildNodes(node_id::Integer)

Remove all split/hierarchy. All remaining docked windows will be re-docked to the remaining root node (node_id).

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockBuilderSplitNodeMethod
DockBuilderSplitNode(
    node_id::Integer,
    split_dir::CImGui.lib.ImGuiDir,
    size_ratio_for_node_at_dir,
    out_id_at_dir::Union{Ptr{Nothing}, Ref{Integer}, Ref{UInt32}},
    out_id_at_opposite_dir::Union{Ptr{Nothing}, Ref{Integer}, Ref{UInt32}}
) -> UInt32

Create 2 child nodes in this parent node.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextCalcDropPosForDockingMethod
DockContextCalcDropPosForDocking(
    target::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    target_node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    payload_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    payload_node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    split_dir::CImGui.lib.ImGuiDir,
    split_outer,
    out_pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextClearNodesMethod
DockContextClearNodes(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    root_id::Integer,
    clear_settings_refs
)

Use root_id==0 to clear all.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextFindNodeByIDMethod
DockContextFindNodeByID(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    id::Integer
) -> Ptr{CImGui.lib.ImGuiDockNode}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextProcessUndockNodeMethod
DockContextProcessUndockNode(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextProcessUndockWindowFunction
DockContextProcessUndockWindow(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
DockContextProcessUndockWindow(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    clear_persistent_docking_ref
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextQueueDockMethod
DockContextQueueDock(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    target::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    target_node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    payload::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    split_dir::CImGui.lib.ImGuiDir,
    split_ratio,
    split_outer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextQueueUndockNodeMethod
DockContextQueueUndockNode(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockContextQueueUndockWindowMethod
DockContextQueueUndockWindow(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockNodeGetRootNodeMethod
DockNodeGetRootNode(
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}}
) -> Ptr{CImGui.lib.ImGuiDockNode}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockNodeIsInHierarchyOfMethod
DockNodeIsInHierarchyOf(
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    parent::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockNodeWindowMenuHandler_DefaultMethod
DockNodeWindowMenuHandler_Default(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DockSpaceFunction
DockSpace(dockspace_id::Integer) -> UInt32
DockSpace(
    dockspace_id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> UInt32
DockSpace(
    dockspace_id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer}
) -> UInt32
DockSpace(
    dockspace_id::Integer,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer},
    window_class::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindowClass}}
) -> UInt32

Upstream link.

source
CImGui.DockSpaceOverViewportFunction
DockSpaceOverViewport() -> UInt32
DockSpaceOverViewport(dockspace_id::Integer) -> UInt32
DockSpaceOverViewport(
    dockspace_id::Integer,
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
) -> UInt32
DockSpaceOverViewport(
    dockspace_id::Integer,
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer}
) -> UInt32
DockSpaceOverViewport(
    dockspace_id::Integer,
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer},
    window_class::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindowClass}}
) -> UInt32

Upstream link.

source
CImGui.DragBehaviorMethod
DragBehavior(
    id::Integer,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_v,
    v_speed,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.DragFloatFunction
DragFloat(label, v) -> Bool
DragFloat(label, v, v_speed) -> Bool
DragFloat(label, v, v_speed, v_min) -> Bool
DragFloat(label, v, v_speed, v_min, v_max) -> Bool
DragFloat(label, v, v_speed, v_min, v_max, format) -> Bool
DragFloat(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

If vmin >= vmax we have no bound.

Upstream link.

source
CImGui.DragFloat2Function
DragFloat2(label, v) -> Bool
DragFloat2(label, v, v_speed) -> Bool
DragFloat2(label, v, v_speed, v_min) -> Bool
DragFloat2(label, v, v_speed, v_min, v_max) -> Bool
DragFloat2(label, v, v_speed, v_min, v_max, format) -> Bool
DragFloat2(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragFloat3Function
DragFloat3(label, v) -> Bool
DragFloat3(label, v, v_speed) -> Bool
DragFloat3(label, v, v_speed, v_min) -> Bool
DragFloat3(label, v, v_speed, v_min, v_max) -> Bool
DragFloat3(label, v, v_speed, v_min, v_max, format) -> Bool
DragFloat3(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragFloat4Function
DragFloat4(label, v) -> Bool
DragFloat4(label, v, v_speed) -> Bool
DragFloat4(label, v, v_speed, v_min) -> Bool
DragFloat4(label, v, v_speed, v_min, v_max) -> Bool
DragFloat4(label, v, v_speed, v_min, v_max, format) -> Bool
DragFloat4(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragFloatRange2Function
DragFloatRange2(label, v_current_min, v_current_max) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed
) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min
) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max
) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format
) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format,
    format_max
) -> Bool
DragFloatRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format,
    format_max,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragIntFunction
DragInt(label, v) -> Bool
DragInt(label, v, v_speed) -> Bool
DragInt(label, v, v_speed, v_min) -> Bool
DragInt(label, v, v_speed, v_min, v_max) -> Bool
DragInt(label, v, v_speed, v_min, v_max, format) -> Bool
DragInt(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

If vmin >= vmax we have no bound.

Upstream link.

source
CImGui.DragInt2Function
DragInt2(label, v) -> Bool
DragInt2(label, v, v_speed) -> Bool
DragInt2(label, v, v_speed, v_min) -> Bool
DragInt2(label, v, v_speed, v_min, v_max) -> Bool
DragInt2(label, v, v_speed, v_min, v_max, format) -> Bool
DragInt2(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragInt3Function
DragInt3(label, v) -> Bool
DragInt3(label, v, v_speed) -> Bool
DragInt3(label, v, v_speed, v_min) -> Bool
DragInt3(label, v, v_speed, v_min, v_max) -> Bool
DragInt3(label, v, v_speed, v_min, v_max, format) -> Bool
DragInt3(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragInt4Function
DragInt4(label, v) -> Bool
DragInt4(label, v, v_speed) -> Bool
DragInt4(label, v, v_speed, v_min) -> Bool
DragInt4(label, v, v_speed, v_min, v_max) -> Bool
DragInt4(label, v, v_speed, v_min, v_max, format) -> Bool
DragInt4(
    label,
    v,
    v_speed,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragIntRange2Function
DragIntRange2(label, v_current_min, v_current_max) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed
) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min
) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max
) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format
) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format,
    format_max
) -> Bool
DragIntRange2(
    label,
    v_current_min,
    v_current_max,
    v_speed,
    v_min,
    v_max,
    format,
    format_max,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragScalarFunction
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data
) -> Bool
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    v_speed
) -> Bool
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    v_speed,
    p_min
) -> Bool
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    v_speed,
    p_min,
    p_max
) -> Bool
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    v_speed,
    p_min,
    p_max,
    format
) -> Bool
DragScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    v_speed,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DragScalarNFunction
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components
) -> Bool
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    v_speed
) -> Bool
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    v_speed,
    p_min
) -> Bool
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    v_speed,
    p_min,
    p_max
) -> Bool
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    v_speed,
    p_min,
    p_max,
    format
) -> Bool
DragScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    v_speed,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.DrawFunction
Draw(self::Ptr{CImGui.lib.ImGuiTextFilter}) -> Bool
Draw(self::Ptr{CImGui.lib.ImGuiTextFilter}, label) -> Bool
Draw(
    self::Ptr{CImGui.lib.ImGuiTextFilter},
    label,
    width
) -> Bool

Helper calling InputText+Build.

Upstream link.

source
CImGui.DummyMethod
Dummy(size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T})

Add a dummy item of given size. unlike InvisibleButton(), Dummy() won't take the mouse click or be navigable into.

Upstream link.

source
CImGui.EndMethod
End(self::Ptr{CImGui.lib.ImGuiListClipper})

Automatically called on the last call of Step() that returns false.

Upstream link.

source
CImGui.EndMethod
End(self::Ptr{CImGui.lib.ImGuiTextBuffer}) -> Ptr{Int8}

Buf is zero-terminated, so end() will point on the zero-terminator.

Upstream link.

source
CImGui.EndBoxSelectMethod
EndBoxSelect(
    scope_rect::CImGui.lib.ImRect,
    ms_flags::Union{CImGui.lib.ImGuiMultiSelectFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.EndFrameMethod
EndFrame()

Ends the Dear ImGui frame. automatically called by Render(). If you don't need to render data (skipping rendering) you may call EndFrame() without Render()... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call NewFrame() at all!

Upstream link.

source
CImGui.EndGroupMethod
EndGroup()

Unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.).

Upstream link.

source
CImGui.ErrorCheckEndFrameRecoverFunction
ErrorCheckEndFrameRecover(
    log_callback::Union{Ptr{Nothing}, Base.CFunction}
)
ErrorCheckEndFrameRecover(
    log_callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ErrorCheckEndWindowRecoverFunction
ErrorCheckEndWindowRecover(
    log_callback::Union{Ptr{Nothing}, Base.CFunction}
)
ErrorCheckEndWindowRecover(
    log_callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FindBestWindowPosForPopupExMethod
FindBestWindowPosForPopupEx(
    ref_pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    last_dir::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDir}},
    r_outer::CImGui.lib.ImRect,
    r_avoid::CImGui.lib.ImRect,
    policy::CImGui.lib.ImGuiPopupPositionPolicy
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FindBlockingModalMethod
FindBlockingModal(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Ptr{CImGui.lib.ImGuiWindow}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FindOrCreateColumnsMethod
FindOrCreateColumns(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    id::Integer
) -> Ptr{CImGui.lib.ImGuiOldColumns}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FindRenderedTextEndFunction
FindRenderedTextEnd(text) -> Ptr{Int8}
FindRenderedTextEnd(text, text_end) -> Ptr{Int8}

Find the optional ## from which we stop displaying text.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FocusTopMostWindowUnderOneMethod
FocusTopMostWindowUnderOne(
    under_this_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    ignore_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    filter_viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
    flags::Union{CImGui.lib.ImGuiFocusRequestFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.FocusWindowFunction
FocusWindow(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
FocusWindow(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    flags::Union{CImGui.lib.ImGuiFocusRequestFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetBLMethod
GetBL(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec2

Bottom-left.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetBRMethod
GetBR(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec2

Bottom-right.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetBackgroundDrawListFunction
GetBackgroundDrawList() -> Ptr{CImGui.lib.ImDrawList}
GetBackgroundDrawList(
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
) -> Ptr{CImGui.lib.ImDrawList}

Get background draw list for the given viewport or viewport associated to the current window. this draw list will be the first rendering one. Useful to quickly draw shapes/text behind dear imgui contents.

Upstream link.

source
CImGui.GetBoolFunction
GetBool(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Bool
GetBool(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Bool

Upstream link.

source
CImGui.GetBoolRefFunction
GetBoolRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Ptr{Bool}
GetBoolRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Ptr{Bool}

Upstream link.

source
CImGui.GetColorU32Function
GetColorU32(col::Integer) -> UInt32
GetColorU32(col::Integer, alpha_mul::Real) -> UInt32

Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.

Upstream link.

source
CImGui.GetColorU32Function
GetColorU32(
    idx::Union{CImGui.lib.ImGuiCol_, Integer}
) -> UInt32
GetColorU32(
    idx::Union{CImGui.lib.ImGuiCol_, Integer},
    alpha_mul::Real
) -> UInt32

Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList.

Upstream link.

source
CImGui.GetColorU32Method
GetColorU32(
    col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> UInt32

Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.

Upstream link.

source
CImGui.GetColumnOffsetFunction
GetColumnOffset() -> Float32
GetColumnOffset(column_index) -> Float32

Get position of column line (in pixels, from the left side of the contents region). pass -1 to use current column, otherwise 0..GetColumnsCount() inclusive. column 0 is typically 0.0f.

Upstream link.

source
CImGui.GetColumnSettingsMethod
GetColumnSettings(
    self::Ptr{CImGui.lib.ImGuiTableSettings}
) -> Ptr{CImGui.lib.ImGuiTableColumnSettings}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetCursorScreenPosMethod
GetCursorScreenPos() -> CImGui.lib.ImVec2

Cursor position, absolute coordinates. THIS IS YOUR BEST FRIEND (prefer using this rather than GetCursorPos(), also more useful to work with ImDrawList API).

Upstream link.

source
CImGui.GetCursorStartPosMethod
GetCursorStartPos() -> CImGui.lib.ImVec2

[window-local] initial cursor position, in window-local coordinates. Call GetCursorScreenPos() after Begin() to get the absolute coordinates version.

Upstream link.

source
CImGui.GetDragDropPayloadMethod
GetDragDropPayload() -> Ptr{CImGui.lib.ImGuiPayload}

Peek directly into the current payload from anywhere. returns NULL when drag and drop is finished or inactive. use ImGuiPayload::IsDataType() to test for the payload type.

Upstream link.

source
CImGui.GetDrawDataMethod
GetDrawData() -> Ptr{CImGui.lib.ImDrawData}

Valid after Render() and until the next call to NewFrame(). this is what you have to render.

Upstream link.

source
CImGui.GetFloatFunction
GetFloat(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Float32
GetFloat(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Float32

Upstream link.

source
CImGui.GetFloatRefFunction
GetFloatRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Ptr{Float32}
GetFloatRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Ptr{Float32}

Upstream link.

source
CImGui.GetForegroundDrawListFunction
GetForegroundDrawList() -> Ptr{CImGui.lib.ImDrawList}
GetForegroundDrawList(
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
) -> Ptr{CImGui.lib.ImDrawList}

Get foreground draw list for the given viewport or viewport associated to the current window. this draw list will be the top-most rendered one. Useful to quickly draw shapes/text over dear imgui contents.

Upstream link.

source
CImGui.GetIDFunction
GetID(
    self::Ptr{CImGui.lib.ImGuiWindow},
    str::Union{Ptr{Int8}, String}
) -> UInt32
GetID(
    self::Ptr{CImGui.lib.ImGuiWindow},
    str::Union{Ptr{Int8}, String},
    str_end::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIDMethod
GetID(
    self::Ptr{CImGui.lib.ImGuiWindow},
    n::Integer
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIDMethod
GetID(
    self::Ptr{CImGui.lib.ImGuiWindow},
    ptr::Ref{Nothing}
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIDMethod
GetID(str_id::Union{Ptr{Int8}, String}) -> UInt32

Calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself.

Upstream link.

source
CImGui.GetIDFromPosMethod
GetIDFromPos(
    self::Ptr{CImGui.lib.ImGuiWindow},
    p_abs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIDWithSeedMethod
GetIDWithSeed(
    str_id_begin::Union{Ptr{Int8}, Ptr{Nothing}, String},
    str_id_end::Union{Ptr{Int8}, Ptr{Nothing}, String},
    seed::Integer
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIOMethod
GetIO() -> Ptr{CImGui.lib.ImGuiIO}

Access the ImGuiIO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags).

Upstream link.

source
CImGui.GetInputTextStateMethod
GetInputTextState(
    id::Integer
) -> Ptr{CImGui.lib.ImGuiInputTextState}

Get input text state if active.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetIntFunction
GetInt(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Int32
GetInt(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Int32

Upstream link.

source
CImGui.GetIntRefFunction
GetIntRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Ptr{Int32}
GetIntRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Ptr{Int32}

Upstream link.

source
CImGui.GetKeyDataMethod
GetKeyData(
    key::CImGui.lib.ImGuiKey
) -> Ptr{CImGui.lib.ImGuiKeyData}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetKeyDataMethod
GetKeyData(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    key::CImGui.lib.ImGuiKey
) -> Ptr{CImGui.lib.ImGuiKeyData}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetKeyMagnitude2dMethod
GetKeyMagnitude2d(
    key_left::CImGui.lib.ImGuiKey,
    key_right::CImGui.lib.ImGuiKey,
    key_up::CImGui.lib.ImGuiKey,
    key_down::CImGui.lib.ImGuiKey
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetKeyNameMethod
GetKeyName(key::CImGui.lib.ImGuiKey) -> Ptr{Int8}

[DEBUG] returns English name of the key. Those names a provided for debugging purpose and are not meant to be saved persistently not compared.

Upstream link.

source
CImGui.GetKeyOwnerDataMethod
GetKeyOwnerData(
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    key::CImGui.lib.ImGuiKey
) -> Ptr{CImGui.lib.ImGuiKeyOwnerData}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetKeyPressedAmountMethod
GetKeyPressedAmount(
    key::CImGui.lib.ImGuiKey,
    repeat_delay,
    rate
) -> Int32

Uses provided repeat rate/delay. return a count, most often 0 or 1 but might be >1 if RepeatRate is small enough that DeltaTime > RepeatRate.

Upstream link.

source
CImGui.GetMouseClickedCountMethod
GetMouseClickedCount(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Int32

Return the number of successive mouse-clicks at the time where a click happen (otherwise 0).

Upstream link.

source
CImGui.GetMouseCursorMethod
GetMouseCursor() -> Int32

Get desired mouse cursor shape. Important: reset in ImGui::NewFrame(), this is updated during the frame. valid before Render(). If you use software rendering by setting io.MouseDrawCursor ImGui will render those for you.

Upstream link.

source
CImGui.GetMouseCursorTexDataMethod
GetMouseCursorTexData(
    self::Ptr{CImGui.lib.ImFontAtlas},
    cursor::Union{CImGui.lib.ImGuiMouseCursor_, Integer},
    out_offset::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    out_size::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    out_uv_border,
    out_uv_fill
) -> Bool

Upstream link.

source
CImGui.GetMouseDragDeltaFunction
GetMouseDragDelta() -> CImGui.lib.ImVec2
GetMouseDragDelta(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> CImGui.lib.ImVec2
GetMouseDragDelta(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    lock_threshold
) -> CImGui.lib.ImVec2

Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0f until the mouse moves past a distance threshold at least once (uses io.MouseDraggingThreshold if lock_threshold < 0.0f).

Upstream link.

source
CImGui.GetNameMethod
GetName(
    self::Ptr{CImGui.lib.ImGuiWindowSettings}
) -> Ptr{Int8}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetNextSelectedItemMethod
GetNextSelectedItem(
    self::Ptr{CImGui.lib.ImGuiSelectionBasicStorage},
    opaque_it,
    out_id::Union{Ptr{Nothing}, Ref{Integer}, Ref{UInt32}}
) -> Bool

Iterate selection with 'void* it = NULL; ImGuiId id; while (selection.GetNextSelectedItem(&it, &id)) ... '.

Upstream link.

source
CImGui.GetPlatformIOMethod
GetPlatformIO() -> Ptr{CImGui.lib.ImGuiPlatformIO}

Access the ImGuiPlatformIO structure (mostly hooks/functions to connect to platform/renderer and OS Clipboard, IME etc.).

Upstream link.

source
CImGui.GetSizeMethod
GetSize(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetStyleMethod
GetStyle() -> Ptr{CImGui.lib.ImGuiStyle}

Access the Style structure (colors, sizes). Always use PushStyleColor(), PushStyleVar() to modify style mid-frame!

Upstream link.

source
CImGui.GetStyleColorVec4Method
GetStyleColorVec4(
    idx::Union{CImGui.lib.ImGuiCol_, Integer}
) -> Ptr{CImGui.lib.ImVec4}

Retrieve style color as stored in ImGuiStyle structure. use to feed back into PushStyleColor(), otherwise use GetColorU32() to get style color with style alpha baked in.

Upstream link.

source
CImGui.GetStyleVarInfoMethod
GetStyleVarInfo(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer}
) -> Ptr{CImGui.lib.ImGuiDataVarInfo}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetTLMethod
GetTL(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec2

Top-left.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetTRMethod
GetTR(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec2

Top-right.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetTexDataAsAlpha8Function
GetTexDataAsAlpha8(
    self::Ptr{CImGui.lib.ImFontAtlas},
    out_pixels,
    out_width,
    out_height
)
GetTexDataAsAlpha8(
    self::Ptr{CImGui.lib.ImFontAtlas},
    out_pixels,
    out_width,
    out_height,
    out_bytes_per_pixel
)

1 byte per-pixel.

Upstream link.

source
CImGui.GetTexDataAsRGBA32Function
GetTexDataAsRGBA32(
    self::Ptr{CImGui.lib.ImFontAtlas},
    out_pixels,
    out_width,
    out_height
)
GetTexDataAsRGBA32(
    self::Ptr{CImGui.lib.ImFontAtlas},
    out_pixels,
    out_width,
    out_height,
    out_bytes_per_pixel
)

4 bytes-per-pixel.

Upstream link.

source
CImGui.GetTypingSelectRequestFunction
GetTypingSelectRequest(

) -> Ptr{CImGui.lib.ImGuiTypingSelectRequest}
GetTypingSelectRequest(
    flags::Union{CImGui.lib.ImGuiTypingSelectFlags_, Integer}
) -> Ptr{CImGui.lib.ImGuiTypingSelectRequest}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetVarPtrMethod
GetVarPtr(
    self::Ptr{CImGui.lib.ImGuiDataVarInfo},
    parent
) -> Ptr{Nothing}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetVersionMethod
GetVersion() -> Ptr{Int8}

Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp).

Upstream link.

source
CImGui.GetVoidPtrRefFunction
GetVoidPtrRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer
) -> Ptr{Ptr{Nothing}}
GetVoidPtrRef(
    self::Ptr{CImGui.lib.ImGuiStorage},
    key::Integer,
    default_val
) -> Ptr{Ptr{Nothing}}

Upstream link.

source
CImGui.GetWindowPosMethod
GetWindowPos() -> CImGui.lib.ImVec2

Get current window position in screen space (IT IS UNLIKELY YOU EVER NEED TO USE THIS. Consider always using GetCursorScreenPos() and GetContentRegionAvail() instead).

Upstream link.

source
CImGui.GetWindowScrollbarIDMethod
GetWindowScrollbarID(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    axis::CImGui.lib.ImGuiAxis
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetWindowScrollbarRectMethod
GetWindowScrollbarRect(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    axis::CImGui.lib.ImGuiAxis
) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.GetWindowSizeMethod
GetWindowSize() -> CImGui.lib.ImVec2

Get current window size (IT IS UNLIKELY YOU EVER NEED TO USE THIS. Consider always using GetCursorScreenPos() and GetContentRegionAvail() instead).

Upstream link.

source
CImGui.HelpMarkerMethod
HelpMarker(msg::AbstractString)

A port of the HelpMarker() function from the Dear ImGui demo. This will draw a grayed out '(?)' text on the screen with msg as the tooltip.

source
CImGui.ImBezierCubicCalcMethod
ImBezierCubicCalc(
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    t
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImBezierCubicClosestPointMethod
ImBezierCubicClosestPoint(
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    num_segments
) -> CImGui.lib.ImVec2

For curves with explicit number of segments.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImBezierCubicClosestPointCasteljauMethod
ImBezierCubicClosestPointCasteljau(
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    tess_tol
) -> CImGui.lib.ImVec2

For auto-tessellated curves you can use tess_tol = style.CurveTessellationTol.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImBezierQuadraticCalcMethod
ImBezierQuadraticCalc(
    p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    t
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImClampMethod
ImClamp(
    v::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    mn::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    mx::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImDotMethod
ImDot(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFileLoadToMemoryFunction
ImFileLoadToMemory(filename, mode) -> Ptr{Nothing}
ImFileLoadToMemory(
    filename,
    mode,
    out_file_size
) -> Ptr{Nothing}
ImFileLoadToMemory(
    filename,
    mode,
    out_file_size,
    padding_bytes
) -> Ptr{Nothing}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFileReadMethod
ImFileRead(
    data,
    size::UInt64,
    count::UInt64,
    file::Ptr{Base.Libc.FILE}
) -> UInt64
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFileWriteMethod
ImFileWrite(
    data,
    size::UInt64,
    count::UInt64,
    file::Ptr{Base.Libc.FILE}
) -> UInt64
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFloorMethod
ImFloor(f::Real) -> Float32

Decent replacement for floorf().

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFloorMethod
ImFloor(
    v::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImFontAtlasBuildSetupFontMethod
ImFontAtlasBuildSetupFont(
    atlas::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontAtlas}},
    font::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFont}},
    font_config::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontConfig}},
    ascent,
    descent
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImHashDataFunction
ImHashData(data, data_size) -> UInt32
ImHashData(data, data_size, seed::Integer) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImHashStrFunction
ImHashStr(data) -> UInt32
ImHashStr(data, data_size) -> UInt32
ImHashStr(data, data_size, seed::Integer) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImInvLengthMethod
ImInvLength(
    lhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fail_value
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLengthSqrMethod
ImLengthSqr(
    lhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLengthSqrMethod
ImLengthSqr(
    lhs::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLerpMethod
ImLerp(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    t::Float32
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLerpMethod
ImLerp(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    t::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLerpMethod
ImLerp(
    a::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    b::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    t::Float32
) -> CImGui.lib.ImVec4
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLineClosestPointMethod
ImLineClosestPoint(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLogMethod
ImLog(x::Float32) -> Float32

DragBehaviorT/SliderBehaviorT uses ImLog with either float/double and need the precision.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImLowerBoundMethod
ImLowerBound(
    in_begin::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiStoragePair}},
    in_end::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiStoragePair}},
    key::Integer
) -> Ptr{CImGui.lib.ImGuiStoragePair}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImMaxMethod
ImMax(
    lhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImMinMethod
ImMin(
    lhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImMulMethod
ImMul(
    lhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rhs::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImPowMethod
ImPow(x::Float32, y::Float32) -> Float32

DragBehaviorT/SliderBehaviorT uses ImPow with either float/double and need the precision.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImRotateMethod
ImRotate(
    v::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cos_a,
    sin_a
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImSignMethod
ImSign(x::Float32) -> Float32

Sign operator - returns -1, 0 or 1 based on sign of argument.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrbolWMethod
ImStrbolW(
    buf_mid_line::Union{Ptr{Nothing}, Ref{UInt16}},
    buf_begin::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Ptr{UInt16}

Find beginning-of-line (ImWchar string).

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrchrRangeMethod
ImStrchrRange(str_begin, str_end, c) -> Ptr{Int8}

Find first occurrence of 'c' in string range.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrdupcpyMethod
ImStrdupcpy(dst, p_dst_size, str) -> Ptr{Int8}

Copy in provided buffer, recreate buffer if needed.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStristrMethod
ImStristr(
    haystack,
    haystack_end,
    needle,
    needle_end
) -> Ptr{Int8}

Find a substring in a string range.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrlenWMethod
ImStrlenW(str::Union{Ptr{Nothing}, Ref{UInt16}}) -> Int32

Computer string length (ImWchar string).

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrncpyMethod
ImStrncpy(dst, src, count)

Copy to a certain count and always zero terminate (strncpy doesn't).

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImStrnicmpMethod
ImStrnicmp(str1, str2, count) -> Int32

Case insensitive compare to a certain count.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTextCharFromUtf8Method
ImTextCharFromUtf8(out_char, in_text, in_text_end) -> Int32

Read one character. return input UTF-8 bytes count.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTextCountLinesMethod
ImTextCountLines(in_text, in_text_end) -> Int32

Return number of lines taken by text. trailing carriage return doesn't count as an extra line.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTextCountUtf8BytesFromStrMethod
ImTextCountUtf8BytesFromStr(
    in_text::Union{Ptr{Nothing}, Ref{UInt16}},
    in_text_end::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Int32

Return number of bytes to express string in UTF-8.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTextStrFromUtf8Function
ImTextStrFromUtf8(
    out_buf::Union{Ptr{Nothing}, Ref{UInt16}},
    out_buf_size,
    in_text,
    in_text_end
) -> Int32
ImTextStrFromUtf8(
    out_buf::Union{Ptr{Nothing}, Ref{UInt16}},
    out_buf_size,
    in_text,
    in_text_end,
    in_remaining
) -> Int32

Return input UTF-8 bytes count.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTextStrToUtf8Method
ImTextStrToUtf8(
    out_buf,
    out_buf_size,
    in_text::Union{Ptr{Nothing}, Ref{UInt16}},
    in_text_end::Union{Ptr{Nothing}, Ref{UInt16}}
) -> Int32

Return output UTF-8 bytes count.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTriangleAreaMethod
ImTriangleArea(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTriangleBarycentricCoordsMethod
ImTriangleBarycentricCoords(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    out_u,
    out_v,
    out_w
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTriangleClosestPointMethod
ImTriangleClosestPoint(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTriangleContainsPointMethod
ImTriangleContainsPoint(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTriangleIsClockwiseMethod
ImTriangleIsClockwise(
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImTruncMethod
ImTrunc(
    v::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ImageFunction
Image(
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Image(
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Image(
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Image(
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    tint_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
)
Image(
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    tint_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    border_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
)

Upstream link.

source
CImGui.ImageButtonFunction
ImageButton(
    str_id,
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ImageButton(
    str_id,
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ImageButton(
    str_id,
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ImageButton(
    str_id,
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    bg_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> Bool
ImageButton(
    str_id,
    user_texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    bg_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    tint_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> Bool

Upstream link.

source
CImGui.ImageButtonExFunction
ImageButtonEx(
    id::Integer,
    texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    bg_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    tint_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T}
) -> Bool
ImageButtonEx(
    id::Integer,
    texture_id::Ptr{Nothing},
    image_size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    bg_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    tint_col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    flags::Union{CImGui.lib.ImGuiButtonFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IndentFunction
Indent()
Indent(indent_w)

Move content position toward the right, by indentw, or style.IndentSpacing if indentw <= 0.

Upstream link.

source
CImGui.InputDoubleFunction
InputDouble(label, v) -> Bool
InputDouble(label, v, step) -> Bool
InputDouble(label, v, step, step_fast) -> Bool
InputDouble(label, v, step, step_fast, format) -> Bool
InputDouble(
    label,
    v,
    step,
    step_fast,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputFloatFunction
InputFloat(label, v) -> Bool
InputFloat(label, v, step) -> Bool
InputFloat(label, v, step, step_fast) -> Bool
InputFloat(label, v, step, step_fast, format) -> Bool
InputFloat(
    label,
    v,
    step,
    step_fast,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputFloat2Function
InputFloat2(label, v) -> Bool
InputFloat2(label, v, format) -> Bool
InputFloat2(
    label,
    v,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputFloat3Function
InputFloat3(label, v) -> Bool
InputFloat3(label, v, format) -> Bool
InputFloat3(
    label,
    v,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputFloat4Function
InputFloat4(label, v) -> Bool
InputFloat4(label, v, format) -> Bool
InputFloat4(
    label,
    v,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputIntFunction
InputInt(label, v) -> Bool
InputInt(label, v, step) -> Bool
InputInt(label, v, step, step_fast) -> Bool
InputInt(
    label,
    v,
    step,
    step_fast,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputScalarFunction
InputScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data
) -> Bool
InputScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_step
) -> Bool
InputScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_step,
    p_step_fast
) -> Bool
InputScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_step,
    p_step_fast,
    format
) -> Bool
InputScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_step,
    p_step_fast,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputScalarNFunction
InputScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components
) -> Bool
InputScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_step
) -> Bool
InputScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_step,
    p_step_fast
) -> Bool
InputScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_step,
    p_step_fast,
    format
) -> Bool
InputScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_step,
    p_step_fast,
    format,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.InputTextFunction
InputText(label, buf, buf_size) -> Bool
InputText(
    label,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool
InputText(
    label,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction}
) -> Bool
InputText(
    label,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
) -> Bool

Upstream link.

source
CImGui.InputTextExFunction
InputTextEx(
    label,
    hint,
    buf,
    buf_size,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool
InputTextEx(
    label,
    hint,
    buf,
    buf_size,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction}
) -> Bool
InputTextEx(
    label,
    hint,
    buf,
    buf_size,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.InputTextMultilineFunction
InputTextMultiline(label, buf, buf_size) -> Bool
InputTextMultiline(
    label,
    buf,
    buf_size,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
InputTextMultiline(
    label,
    buf,
    buf_size,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool
InputTextMultiline(
    label,
    buf,
    buf_size,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction}
) -> Bool
InputTextMultiline(
    label,
    buf,
    buf_size,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
) -> Bool

Upstream link.

source
CImGui.InputTextWithHintFunction
InputTextWithHint(label, hint, buf, buf_size) -> Bool
InputTextWithHint(
    label,
    hint,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool
InputTextWithHint(
    label,
    hint,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction}
) -> Bool
InputTextWithHint(
    label,
    hint,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer},
    callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data
) -> Bool

Upstream link.

source
CImGui.InsertCharsFunction
InsertChars(
    self::Ptr{CImGui.lib.ImGuiInputTextCallbackData},
    pos,
    text
)
InsertChars(
    self::Ptr{CImGui.lib.ImGuiInputTextCallbackData},
    pos,
    text,
    text_end
)

Upstream link.

source
CImGui.InvisibleButtonFunction
InvisibleButton(
    str_id,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
InvisibleButton(
    str_id,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    flags::Union{CImGui.lib.ImGuiButtonFlags_, Integer}
) -> Bool

Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.).

Upstream link.

source
CImGui.IsAnyMouseDownMethod
IsAnyMouseDown() -> Bool

[WILL OBSOLETE] is any mouse button held? This was designed for backends, but prefer having backend maintain a mask of held mouse buttons, because upcoming input queue system will make this invalid.

Upstream link.

source
CImGui.IsBuiltMethod
IsBuilt(self::Ptr{CImGui.lib.ImFontAtlas}) -> Bool

Bit ambiguous: used to detect when user didn't build texture but effectively we should check TexID != 0 except that would be backend dependent...

Upstream link.

source
CImGui.IsHiddenTabBarMethod
IsHiddenTabBar(self::Ptr{CImGui.lib.ImGuiDockNode}) -> Bool

Hidden tab bar can be shown back by clicking the small triangle.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsItemActiveMethod
IsItemActive() -> Bool

Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false).

Upstream link.

source
CImGui.IsItemClickedFunction
IsItemClicked() -> Bool
IsItemClicked(
    mouse_button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Bool

Is the last item hovered and mouse clicked on? () == IsMouseClicked(mouse_button) && IsItemHovered()Important. () this is NOT equivalent to the behavior of e.g. Button(). Read comments in function definition.

Upstream link.

source
CImGui.IsItemDeactivatedMethod
IsItemDeactivated() -> Bool

Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that require continuous editing.

Upstream link.

source
CImGui.IsItemDeactivatedAfterEditMethod
IsItemDeactivatedAfterEdit() -> Bool

Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved). Useful for Undo/Redo patterns with widgets that require continuous editing. Note that you may get false positives (some widgets such as Combo()/ListBox()/Selectable() will return true even when clicking an already selected item).

Upstream link.

source
CImGui.IsItemEditedMethod
IsItemEdited() -> Bool

Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the "bool" return value of many widgets.

Upstream link.

source
CImGui.IsItemHoveredFunction
IsItemHovered() -> Bool
IsItemHovered(
    flags::Union{CImGui.lib.ImGuiHoveredFlags_, Integer}
) -> Bool

Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See ImGuiHoveredFlags for more options.

Upstream link.

source
CImGui.IsItemToggledSelectionMethod
IsItemToggledSelection() -> Bool

Was the last item selection state toggled? Useful if you need the per-item information before reaching EndMultiSelect(). We only returns toggle event in order to handle clipping correctly.

Upstream link.

source
CImGui.IsKeyChordPressedFunction
IsKeyChordPressed(
    key_chord::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
) -> Bool
IsKeyChordPressed(
    key_chord::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer},
    owner_id::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsKeyChordPressedMethod
IsKeyChordPressed(key_chord::Integer) -> Bool

Was key chord (mods + key) pressed, e.g. you can pass 'ImGuiModCtrl | ImGuiKeyS' as a key-chord. This doesn't do any routing or focus check, please consider using Shortcut() function instead.

Upstream link.

source
CImGui.IsKeyPressedFunction
IsKeyPressed(
    key::CImGui.lib.ImGuiKey,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
) -> Bool
IsKeyPressed(
    key::CImGui.lib.ImGuiKey,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer},
    owner_id::Integer
) -> Bool

Important: when transitioning from old to new IsKeyPressed(): old API has "bool repeat = true", so would default to repeat. New API requiress explicit ImGuiInputFlags_Repeat.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsKeyPressedFunction
IsKeyPressed(key::CImGui.lib.ImGuiKey) -> Bool
IsKeyPressed(key::CImGui.lib.ImGuiKey, repeat::Bool) -> Bool

Was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate.

Upstream link.

source
CImGui.IsMouseClickedFunction
IsMouseClicked(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
) -> Bool
IsMouseClicked(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer},
    owner_id::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsMouseClickedFunction
IsMouseClicked(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Bool
IsMouseClicked(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    repeat::Bool
) -> Bool

Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1.

Upstream link.

source
CImGui.IsMouseDoubleClickedMethod
IsMouseDoubleClicked(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Bool

Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. (note that a double-click will also report IsMouseClicked() == true).

Upstream link.

source
CImGui.IsMouseDownMethod
IsMouseDown(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    owner_id::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsMouseDragPastThresholdFunction
IsMouseDragPastThreshold(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Bool
IsMouseDragPastThreshold(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    lock_threshold
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsMouseDraggingFunction
IsMouseDragging(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> Bool
IsMouseDragging(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    lock_threshold
) -> Bool

Is mouse dragging? (uses io.MouseDraggingThreshold if lock_threshold < 0.0f).

Upstream link.

source
CImGui.IsMouseHoveringRectFunction
IsMouseHoveringRect(
    r_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    r_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
IsMouseHoveringRect(
    r_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    r_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip
) -> Bool

Is mouse hovering given bounding rect (in screen space). clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.

Upstream link.

source
CImGui.IsMousePosValidFunction
IsMousePosValid() -> Bool
IsMousePosValid(
    mouse_pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
) -> Bool

By convention we use (-FLTMAX,-FLTMAX) to denote that there is no mouse available.

Upstream link.

source
CImGui.IsMouseReleasedMethod
IsMouseReleased(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer},
    owner_id::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsNoTabBarMethod
IsNoTabBar(self::Ptr{CImGui.lib.ImGuiDockNode}) -> Bool

Never show a tab bar.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsPopupOpenFunction
IsPopupOpen(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
IsPopupOpen(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String},
    flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
) -> Bool

Return true if the popup is open.

Upstream link.

source
CImGui.IsPopupOpenMethod
IsPopupOpen(
    id::Integer,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsRectVisibleMethod
IsRectVisible(
    rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

Test if rectangle (in screen space) is visible / not clipped. to perform coarse clipping on user's side.

Upstream link.

source
CImGui.IsRectVisibleMethod
IsRectVisible(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

Test if rectangle (of given size, starting from cursor position) is visible / not clipped.

Upstream link.

source
CImGui.IsWindowAboveMethod
IsWindowAbove(
    potential_above::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    potential_below::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsWindowChildOfMethod
IsWindowChildOf(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    potential_parent::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    popup_hierarchy,
    dock_hierarchy
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsWindowContentHoverableFunction
IsWindowContentHoverable(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
IsWindowContentHoverable(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    flags::Union{CImGui.lib.ImGuiHoveredFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.IsWindowFocusedFunction
IsWindowFocused() -> Bool
IsWindowFocused(
    flags::Union{CImGui.lib.ImGuiFocusedFlags_, Integer}
) -> Bool

Is current window focused? or its root/child, depending on flags. see flags for options.

Upstream link.

source
CImGui.IsWindowHoveredFunction
IsWindowHovered() -> Bool
IsWindowHovered(
    flags::Union{CImGui.lib.ImGuiHoveredFlags_, Integer}
) -> Bool

Is current window hovered and hoverable (e.g. not blocked by a popup/modal)? See ImGuiHoveredFlags_ for options. IMPORTANT: If you are trying to check whether your mouse should be dispatched to Dear ImGui or to your underlying app, you should not use this function! Use the 'io.WantCaptureMouse' boolean for that! Refer to FAQ entry "How can I tell whether to dispatch mouse/keyboard to Dear ImGui or my application?" for details.

Upstream link.

source
CImGui.IsWindowWithinBeginStackOfMethod
IsWindowWithinBeginStackOf(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    potential_parent::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ItemAddFunction
ItemAdd(bb::CImGui.lib.ImRect, id::Integer) -> Bool
ItemAdd(
    bb::CImGui.lib.ImRect,
    id::Integer,
    nav_bb::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}}
) -> Bool
ItemAdd(
    bb::CImGui.lib.ImRect,
    id::Integer,
    nav_bb::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}},
    extra_flags::Union{CImGui.lib.ImGuiItemFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ItemHoverableMethod
ItemHoverable(
    bb::CImGui.lib.ImRect,
    id::Integer,
    item_flags::Union{CImGui.lib.ImGuiItemFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ItemSizeFunction
ItemSize(bb::CImGui.lib.ImRect)
ItemSize(bb::CImGui.lib.ImRect, text_baseline_y::Real)

FIXME: This is a misleading API since we expect CursorPos to be bb.Min.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ItemSizeFunction
ItemSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ItemSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text_baseline_y::Real
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ListBoxFunction
ListBox(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items::Vector{String}
) -> Bool
ListBox(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    current_item::Union{Ptr{Nothing}, Ref{Int32}},
    items::Vector{String},
    height_in_items::Integer
) -> Bool

Upstream link.

source
CImGui.LoadIniSettingsFromMemoryFunction
LoadIniSettingsFromMemory(ini_data)
LoadIniSettingsFromMemory(ini_data, ini_size)

Call after CreateContext() and before the first call to NewFrame() to provide .ini data from your own data source.

Upstream link.

source
CImGui.LogBeginMethod
LogBegin(type::CImGui.lib.ImGuiLogType, auto_open_depth)

-> BeginCapture() when we design v2 api, for now stay under the radar by using the old name.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.LogRenderedTextFunction
LogRenderedText(
    ref_pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    text
)
LogRenderedText(
    ref_pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    text,
    text_end
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.LogToBufferFunction
LogToBuffer()
LogToBuffer(auto_open_depth)

Start logging/capturing to internal buffer.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.MarkItemEditedMethod
MarkItemEdited(id::Integer)

Mark data associated to given item as "edited", used by IsItemDeactivatedAfterEdit() function.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.MenuItemFunction
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    shortcut::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_selected::Ref{Bool}
) -> Bool
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    shortcut::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_selected::Ref{Bool},
    enabled::Bool
) -> Bool

Return true when activated + toggle (*pselected) if pselected != NULL.

Upstream link.

source
CImGui.MenuItemFunction
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    shortcut::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    shortcut::Union{Ptr{Int8}, Ptr{Nothing}, String},
    selected::Bool
) -> Bool
MenuItem(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    shortcut::Union{Ptr{Int8}, Ptr{Nothing}, String},
    selected::Bool,
    enabled::Bool
) -> Bool

Return true when activated.

Upstream link.

source
CImGui.MenuItemExFunction
MenuItemEx(label, icon) -> Bool
MenuItemEx(label, icon, shortcut) -> Bool
MenuItemEx(label, icon, shortcut, selected) -> Bool
MenuItemEx(label, icon, shortcut, selected, enabled) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.MouseButtonToKeyMethod
MouseButtonToKey(
    button::Union{CImGui.lib.ImGuiMouseButton_, Integer}
) -> CImGui.lib.ImGuiKey
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.MultiSelectAddSetRangeMethod
MultiSelectAddSetRange(
    ms::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiMultiSelectTempData}},
    selected,
    range_dir,
    first_item::Int64,
    last_item::Int64
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.MultiSelectItemHeaderMethod
MultiSelectItemHeader(
    id::Integer,
    p_selected,
    p_button_flags::Union{Ptr{Nothing}, Ref{Int32}, Ref{Integer}, Ref{CImGui.lib.ImGuiButtonFlags_}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.NavInitWindowMethod
NavInitWindow(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    force_reinit
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.NavMoveRequestForwardMethod
NavMoveRequestForward(
    move_dir::CImGui.lib.ImGuiDir,
    clip_dir::CImGui.lib.ImGuiDir,
    move_flags::Union{CImGui.lib.ImGuiNavMoveFlags_, Integer},
    scroll_flags::Union{CImGui.lib.ImGuiScrollFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.NavMoveRequestResolveWithPastTreeNodeMethod
NavMoveRequestResolveWithPastTreeNode(
    result::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiNavItemData}},
    tree_node_data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTreeNodeStackData}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.NavMoveRequestSubmitMethod
NavMoveRequestSubmit(
    move_dir::CImGui.lib.ImGuiDir,
    clip_dir::CImGui.lib.ImGuiDir,
    move_flags::Union{CImGui.lib.ImGuiNavMoveFlags_, Integer},
    scroll_flags::Union{CImGui.lib.ImGuiScrollFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.NavMoveRequestTryWrappingMethod
NavMoveRequestTryWrapping(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    move_flags::Union{CImGui.lib.ImGuiNavMoveFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.OnKeyPressedMethod
OnKeyPressed(self::Ptr{CImGui.lib.ImGuiInputTextState}, key)

Cannot be inline because we call in code in stb_textedit.h implementation.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.OpenPopupFunction
OpenPopup(id::Integer)
OpenPopup(
    id::Integer,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
)

Id overload to facilitate calling from nested stacks.

Upstream link.

source
CImGui.OpenPopupFunction
OpenPopup(str_id::Union{Ptr{Int8}, Ptr{Nothing}, String})
OpenPopup(
    str_id::Union{Ptr{Int8}, Ptr{Nothing}, String},
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
)

Call to mark popup as open (don't call every frame!).

Upstream link.

source
CImGui.OpenPopupExFunction
OpenPopupEx(id::Integer)
OpenPopupEx(
    id::Integer,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.OpenPopupOnItemClickFunction
OpenPopupOnItemClick()
OpenPopupOnItemClick(str_id)
OpenPopupOnItemClick(
    str_id,
    popup_flags::Union{CImGui.lib.ImGuiPopupFlags_, Integer}
)

Helper to open popup when clicked on last item. Default to ImGuiPopupFlagsMouseButtonRight == 1. (note: actually triggers on the mouse _released event to be consistent with popup behaviors).

Upstream link.

source
CImGui.OverlapsMethod
Overlaps(
    self::Ptr{CImGui.lib.ImRect},
    r::CImGui.lib.ImRect
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.PassFilterFunction
PassFilter(
    self::Ptr{CImGui.lib.ImGuiTextFilter},
    text
) -> Bool
PassFilter(
    self::Ptr{CImGui.lib.ImGuiTextFilter},
    text,
    text_end
) -> Bool

Upstream link.

source
CImGui.PathArcToFunction
PathArcTo(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    a_min,
    a_max
)
PathArcTo(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    a_min,
    a_max,
    num_segments
)

Upstream link.

source
CImGui.PathArcToFastMethod
PathArcToFast(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    a_min_of_12,
    a_max_of_12
)

Use precomputed angles for a 12 steps circle.

Upstream link.

source
CImGui.PathBezierCubicCurveToFunction
PathBezierCubicCurveTo(
    self::Ptr{CImGui.lib.ImDrawList},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
PathBezierCubicCurveTo(
    self::Ptr{CImGui.lib.ImDrawList},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p4::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    num_segments
)

Cubic Bezier (4 control points).

Upstream link.

source
CImGui.PathBezierQuadraticCurveToFunction
PathBezierQuadraticCurveTo(
    self::Ptr{CImGui.lib.ImDrawList},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
PathBezierQuadraticCurveTo(
    self::Ptr{CImGui.lib.ImDrawList},
    p2::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p3::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    num_segments
)

Quadratic Bezier (3 control points).

Upstream link.

source
CImGui.PathEllipticalArcToFunction
PathEllipticalArcTo(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rot,
    a_min,
    a_max
)
PathEllipticalArcTo(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rot,
    a_min,
    a_max,
    num_segments
)

Ellipse.

Upstream link.

source
CImGui.PathRectFunction
PathRect(
    self::Ptr{CImGui.lib.ImDrawList},
    rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
PathRect(
    self::Ptr{CImGui.lib.ImDrawList},
    rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rounding
)
PathRect(
    self::Ptr{CImGui.lib.ImDrawList},
    rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)

Upstream link.

source
CImGui.PathStrokeFunction
PathStroke(self::Ptr{CImGui.lib.ImDrawList}, col::Integer)
PathStroke(
    self::Ptr{CImGui.lib.ImDrawList},
    col::Integer,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)
PathStroke(
    self::Ptr{CImGui.lib.ImDrawList},
    col::Integer,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer},
    thickness
)

Upstream link.

source
CImGui.PlotExMethod
PlotEx(
    plot_type::CImGui.lib.ImGuiPlotType,
    label,
    values_getter,
    data,
    values_count,
    values_offset,
    overlay_text,
    scale_min,
    scale_max,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.PlotHistogramFunction
PlotHistogram(label, values, values_count, values_offset=0, overlay_text=C_NULL, scale_min=FLT_MAX, scale_max=FLT_MAX, graph_size=(0,0), stride=sizeof(Cfloat))
source
CImGui.PlotHistogramFunction
PlotHistogram(label, values_getter::Ptr, data::Ptr, values_count, values_offset=0, overlay_text=C_NULL, scale_min=FLT_MAX, scale_max=FLT_MAX, graph_size=ImVec2(0,0))
source
CImGui.PlotLinesFunction
PlotLines(label, values, values_count::Integer, values_offset=0, overlay_text=C_NULL, scale_min=FLT_MAX, scale_max=FLT_MAX, graph_size=(0,0), stride=sizeof(Cfloat))
source
CImGui.PlotLinesFunction
PlotLines(label, values_getter::Ptr, data::Ptr, values_count, values_offset=0, overlay_text=C_NULL, scale_min=FLT_MAX, scale_max=FLT_MAX, graph_size=(0,0))
source
CImGui.PrimQuadUVMethod
PrimQuadUV(
    self::Ptr{CImGui.lib.ImDrawList},
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    d::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_c::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_d::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.PrimRectMethod
PrimRect(
    self::Ptr{CImGui.lib.ImDrawList},
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Axis aligned rectangle (composed of two triangles).

Upstream link.

source
CImGui.PrimRectUVMethod
PrimRectUV(
    self::Ptr{CImGui.lib.ImDrawList},
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.PrimVtxMethod
PrimVtx(
    self::Ptr{CImGui.lib.ImDrawList},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Write vertex with unique index.

Upstream link.

source
CImGui.PrimWriteVtxMethod
PrimWriteVtx(
    self::Ptr{CImGui.lib.ImDrawList},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)

Upstream link.

source
CImGui.ProgressBarFunction
ProgressBar(fraction)
ProgressBar(
    fraction,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ProgressBar(
    fraction,
    size_arg::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    overlay
)

Upstream link.

source
CImGui.PushClipRectFunction
PushClipRect(
    self::Ptr{CImGui.lib.ImDrawList},
    clip_rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
PushClipRect(
    self::Ptr{CImGui.lib.ImDrawList},
    clip_rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    intersect_with_current_clip_rect
)

Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling).

Upstream link.

source
CImGui.PushClipRectMethod
PushClipRect(
    clip_rect_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_rect_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    intersect_with_current_clip_rect
)

Upstream link.

source
CImGui.PushIDMethod
PushID(
    str_id_begin::Union{Ptr{Int8}, String},
    str_id_end::Union{Ptr{Int8}, Ptr{Nothing}, String}
)

Push string into the ID stack (will hash string).

Upstream link.

source
CImGui.PushItemFlagMethod
PushItemFlag(
    option::Union{CImGui.lib.ImGuiItemFlags_, Integer},
    enabled
)

Modify specified shared item flag, e.g. PushItemFlag(ImGuiItemFlags_NoTabStop, true).

Upstream link.

source
CImGui.PushItemWidthMethod
PushItemWidth(item_width)

Push width of items for common large "item+label" widgets. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).

Upstream link.

source
CImGui.PushOverrideIDMethod
PushOverrideID(id::Integer)

Push given value as-is at the top of the ID stack (whereas PushID combines old and new hashes).

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.PushStyleColorMethod
PushStyleColor(
    idx::Union{CImGui.lib.ImGuiCol_, Integer},
    col::Integer
)

Modify a style color. always use this if you modify the style after NewFrame().

Upstream link.

source
CImGui.PushStyleVarMethod
PushStyleVar(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer},
    val::Real
)

Modify a style float variable. always use this if you modify the style after NewFrame()!

Upstream link.

source
CImGui.PushStyleVarMethod
PushStyleVar(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer},
    val::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)

Modify a style ImVec2 variable. ".

Upstream link.

source
CImGui.PushTextWrapPosFunction
PushTextWrapPos()
PushTextWrapPos(wrap_local_pos_x)

Push word-wrapping position for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrapposx' position in window local space.

Upstream link.

source
CImGui.RadioButtonMethod
RadioButton(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    active::Bool
) -> Bool

Use with e.g. if (RadioButton("one", myvalue==1)) myvalue = 1;.

Upstream link.

source
CImGui.RadioButtonMethod
RadioButton(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    v::Union{Ptr{Nothing}, Ref{Int32}},
    v_button::Integer
) -> Bool

Shortcut to handle the above pattern when value is an integer.

Upstream link.

source
CImGui.RectMethod
Rect(
    self::Ptr{CImGui.lib.ImGuiDockNode}
) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RectMethod
Rect(self::Ptr{CImGui.lib.ImGuiWindow}) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RemoveContextHookMethod
RemoveContextHook(
    context::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    hook_to_remove::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderArrowFunction
RenderArrow(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    dir::CImGui.lib.ImGuiDir
)
RenderArrow(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    dir::CImGui.lib.ImGuiDir,
    scale
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderArrowDockMenuMethod
RenderArrowDockMenu(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    sz,
    col::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderArrowPointingAtMethod
RenderArrowPointingAt(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    half_sz::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    direction::CImGui.lib.ImGuiDir,
    col::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderBulletMethod
RenderBullet(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderCharMethod
RenderChar(
    self::Ptr{CImGui.lib.ImFont},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    size,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    c::UInt16
)

Upstream link.

source
CImGui.RenderCheckMarkMethod
RenderCheckMark(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    sz
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderColorRectWithAlphaCheckerboardFunction
RenderColorRectWithAlphaCheckerboard(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer,
    grid_step,
    grid_off::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
RenderColorRectWithAlphaCheckerboard(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer,
    grid_step,
    grid_off::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rounding
)
RenderColorRectWithAlphaCheckerboard(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer,
    grid_step,
    grid_off::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rounding,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderFrameFunction
RenderFrame(
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer
)
RenderFrame(
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer,
    borders
)
RenderFrame(
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    fill_col::Integer,
    borders,
    rounding
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderFrameBorderFunction
RenderFrameBorder(
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
RenderFrameBorder(
    p_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    p_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    rounding
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderMouseCursorMethod
RenderMouseCursor(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    scale,
    mouse_cursor::Union{CImGui.lib.ImGuiMouseCursor_, Integer},
    col_fill::Integer,
    col_border::Integer,
    col_shadow::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderNavHighlightFunction
RenderNavHighlight(bb::CImGui.lib.ImRect, id::Integer)
RenderNavHighlight(
    bb::CImGui.lib.ImRect,
    id::Integer,
    flags::Union{CImGui.lib.ImGuiNavHighlightFlags_, Integer}
)

Navigation highlight.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderPlatformWindowsDefaultFunction
RenderPlatformWindowsDefault()
RenderPlatformWindowsDefault(platform_render_arg)
RenderPlatformWindowsDefault(
    platform_render_arg,
    renderer_render_arg
)

Call in main loop. will call RenderWindow/SwapBuffers platform functions for each secondary viewport which doesn't have the ImGuiViewportFlags_Minimized flag set. May be reimplemented by user for custom rendering needs.

Upstream link.

source
CImGui.RenderRectFilledRangeHMethod
RenderRectFilledRangeH(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    rect::CImGui.lib.ImRect,
    col::Integer,
    x_start_norm,
    x_end_norm,
    rounding
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderRectFilledWithHoleMethod
RenderRectFilledWithHole(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    outer::CImGui.lib.ImRect,
    inner::CImGui.lib.ImRect,
    col::Integer,
    rounding
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderTextFunction
RenderText(
    self::Ptr{CImGui.lib.ImFont},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    size,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    clip_rect::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    text_begin,
    text_end
)
RenderText(
    self::Ptr{CImGui.lib.ImFont},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    size,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    clip_rect::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    text_begin,
    text_end,
    wrap_width
)
RenderText(
    self::Ptr{CImGui.lib.ImFont},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    size,
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col::Integer,
    clip_rect::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    text_begin,
    text_end,
    wrap_width,
    cpu_fine_clip
)

Upstream link.

source
CImGui.RenderTextFunction
RenderText(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text
)
RenderText(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end
)
RenderText(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    hide_text_after_hash
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderTextClippedFunction
RenderTextClipped(
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)
RenderTextClipped(
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    align::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
RenderTextClipped(
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    align::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_rect::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderTextClippedExFunction
RenderTextClippedEx(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)
RenderTextClippedEx(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    align::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
RenderTextClippedEx(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}},
    align::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_rect::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderTextEllipsisMethod
RenderTextEllipsis(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    pos_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    pos_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clip_max_x,
    ellipsis_max_x,
    text,
    text_end,
    text_size_if_known::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.RenderTextWrappedMethod
RenderTextWrapped(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    text,
    text_end,
    wrap_width
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ResetMethod
Reset(
    self::Ptr{CImGui.lib.ImGuiListClipperData},
    clipper::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiListClipper}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SameLineFunction
SameLine()
SameLine(offset_from_start_x)
SameLine(offset_from_start_x, spacing)

Call between widgets or groups to layout them horizontally. X position given in window coordinates.

Upstream link.

source
CImGui.SaveIniSettingsToDiskMethod
SaveIniSettingsToDisk(ini_filename)

This is automatically called (if io.IniFilename is not empty) a few seconds after any modification that should be reflected in the .ini file (and also by DestroyContext).

Upstream link.

source
CImGui.SaveIniSettingsToMemoryFunction
SaveIniSettingsToMemory() -> Ptr{Int8}
SaveIniSettingsToMemory(out_ini_size) -> Ptr{Int8}

Return a zero-terminated string with the .ini data which you can save by your own mean. call when io.WantSaveIniSettings is set, then save data by your own mean and clear io.WantSaveIniSettings.

Upstream link.

source
CImGui.ScaleClipRectsMethod
ScaleClipRects(
    self::Ptr{CImGui.lib.ImDrawData},
    fb_scale::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)

Helper to scale the ClipRect field of each ImDrawCmd. Use if your final output buffer is at a different scale than Dear ImGui expects, or if there is a difference between your window resolution and framebuffer resolution.

Upstream link.

source
CImGui.ScrollToItemFunction
ScrollToItem()
ScrollToItem(
    flags::Union{CImGui.lib.ImGuiScrollFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ScrollToRectFunction
ScrollToRect(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    rect::CImGui.lib.ImRect
)
ScrollToRect(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    rect::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiScrollFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ScrollToRectExFunction
ScrollToRectEx(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    rect::CImGui.lib.ImRect
) -> CImGui.lib.ImVec2
ScrollToRectEx(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    rect::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiScrollFlags_, Integer}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ScrollbarExMethod
ScrollbarEx(
    bb::CImGui.lib.ImRect,
    id::Integer,
    axis::CImGui.lib.ImGuiAxis,
    p_scroll_v::Union{Ptr{Nothing}, Ref{Int64}},
    avail_v::Int64,
    contents_v::Int64,
    flags::Union{CImGui.lib.ImDrawFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SelectableFunction
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_selected::Ref{Bool}
) -> Bool
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_selected::Ref{Bool},
    flags::Union{CImGui.lib.ImGuiSelectableFlags_, Integer}
) -> Bool
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    p_selected::Ref{Bool},
    flags::Union{CImGui.lib.ImGuiSelectableFlags_, Integer},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

"bool* p_selected" point to the selection state (read-write), as a convenient helper.

Upstream link.

source
CImGui.SelectableFunction
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    selected::Bool
) -> Bool
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    selected::Bool,
    flags::Union{CImGui.lib.ImGuiSelectableFlags_, Integer}
) -> Bool
Selectable(
    label::Union{Ptr{Int8}, Ptr{Nothing}, String},
    selected::Bool,
    flags::Union{CImGui.lib.ImGuiSelectableFlags_, Integer},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool

"bool selected" carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. size.x==0.0: use remaining width, size.x>0.0: specify width. size.y==0.0: use label height, size.y>0.0: specify height.

Upstream link.

source
CImGui.SeparatorExFunction
SeparatorEx(
    flags::Union{CImGui.lib.ImGuiSeparatorFlags_, Integer}
)
SeparatorEx(
    flags::Union{CImGui.lib.ImGuiSeparatorFlags_, Integer},
    thickness
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetActiveIDMethod
SetActiveID(
    id::Integer,
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetAppAcceptingEventsMethod
SetAppAcceptingEvents(
    self::Ptr{CImGui.lib.ImGuiIO},
    accepting_events
)

Set master flag for accepting key/mouse/text events (default to true). Useful if you have native dialog boxes that are interrupting your application loop/refresh, and you want to disable events being queued while your app is frozen.

Upstream link.

source
CImGui.SetColorEditOptionsMethod
SetColorEditOptions(
    flags::Union{CImGui.lib.ImGuiColorEditFlags_, Integer}
)

Initialize current options (generally on application startup) if you want to select a default format, picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.

Upstream link.

source
CImGui.SetColumnOffsetMethod
SetColumnOffset(column_index, offset_x)

Set position of column line (in pixels, from the left side of the contents region). pass -1 to use current column.

Upstream link.

source
CImGui.SetCurrentViewportMethod
SetCurrentViewport(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewportP}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetDragDropPayloadFunction
SetDragDropPayload(type, data, sz) -> Bool
SetDragDropPayload(
    type,
    data,
    sz,
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
) -> Bool

Type is a user defined string of maximum 32 characters. Strings starting with '_' are reserved for dear imgui internal types. Data is copied and held by imgui. Return true when payload has been accepted.

Upstream link.

source
CImGui.SetFocusIDMethod
SetFocusID(
    id::Integer,
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetItemKeyOwnerMethod
SetItemKeyOwner(
    key::CImGui.lib.ImGuiKey,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
)

Set key owner to last item if it is hovered or active. Equivalent to 'if (IsItemHovered() || IsItemActive()) SetKeyOwner(key, GetItemID());'.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetItemKeyOwnerMethod
SetItemKeyOwner(key::CImGui.lib.ImGuiKey)

Set key owner to last item ID if it is hovered or active. Equivalent to 'if (IsItemHovered() || IsItemActive()) SetKeyOwner(key, GetItemID());'.

Upstream link.

source
CImGui.SetItemSelectedMethod
SetItemSelected(
    self::Ptr{CImGui.lib.ImGuiSelectionBasicStorage},
    id::Integer,
    selected
)

Add/remove an item from selection (generally done by ApplyRequests() function).

Upstream link.

source
CImGui.SetKeyEventNativeDataFunction
SetKeyEventNativeData(
    self::Ptr{CImGui.lib.ImGuiIO},
    key::CImGui.lib.ImGuiKey,
    native_keycode,
    native_scancode
)
SetKeyEventNativeData(
    self::Ptr{CImGui.lib.ImGuiIO},
    key::CImGui.lib.ImGuiKey,
    native_keycode,
    native_scancode,
    native_legacy_index
)

[Optional] Specify index for legacy <1.87 IsKeyXXX() functions with native indices + specify native keycode, scancode.

Upstream link.

source
CImGui.SetKeyOwnerFunction
SetKeyOwner(key::CImGui.lib.ImGuiKey, owner_id::Integer)
SetKeyOwner(
    key::CImGui.lib.ImGuiKey,
    owner_id::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetKeyOwnersForKeyChordFunction
SetKeyOwnersForKeyChord(key::Integer, owner_id::Integer)
SetKeyOwnersForKeyChord(
    key::Integer,
    owner_id::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetKeyboardFocusHereFunction
SetKeyboardFocusHere()
SetKeyboardFocusHere(offset)

Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.

Upstream link.

source
CImGui.SetLastItemDataMethod
SetLastItemData(
    item_id::Integer,
    in_flags::Union{CImGui.lib.ImGuiItemFlags_, Integer},
    status_flags::Union{CImGui.lib.ImGuiItemStatusFlags_, Integer},
    item_rect::CImGui.lib.ImRect
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetLocalFlagsMethod
SetLocalFlags(
    self::Ptr{CImGui.lib.ImGuiDockNode},
    flags::Union{CImGui.lib.ImGuiDockNodeFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetNavIDMethod
SetNavID(
    id::Integer,
    nav_layer::CImGui.lib.ImGuiNavLayer,
    focus_scope_id::Integer,
    rect_rel::CImGui.lib.ImRect
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetNextFrameWantCaptureKeyboardMethod
SetNextFrameWantCaptureKeyboard(want_capture_keyboard)

Override io.WantCaptureKeyboard flag next frame (said flag is left for your application to handle, typically when true it instructs your app to ignore inputs). e.g. force capture keyboard when your widget is being hovered. This is equivalent to setting "io.WantCaptureKeyboard = wantcapturekeyboard"; after the next NewFrame() call.

Upstream link.

source
CImGui.SetNextFrameWantCaptureMouseMethod
SetNextFrameWantCaptureMouse(want_capture_mouse)

Override io.WantCaptureMouse flag next frame (said flag is left for your application to handle, typical when true it instucts your app to ignore inputs). This is equivalent to setting "io.WantCaptureMouse = wantcapturemouse;" after the next NewFrame() call.

Upstream link.

source
CImGui.SetNextItemAllowOverlapMethod
SetNextItemAllowOverlap()

Allow next item to be overlapped by a subsequent item. Useful with invisible buttons, selectable, treenode covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this.

Upstream link.

source
CImGui.SetNextItemWidthMethod
SetNextItemWidth(item_width)

Set width of the next common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).

Upstream link.

source
CImGui.SetNextWindowBgAlphaMethod
SetNextWindowBgAlpha(alpha)

Set next window background color alpha. helper to easily override the Alpha component of ImGuiColWindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlagsNoBackground.

Upstream link.

source
CImGui.SetNextWindowClassMethod
SetNextWindowClass(
    window_class::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindowClass}}
)

Set next window class (control docking compatibility + provide hints to platform backend via custom viewport flags and platform parent/child relationship).

Upstream link.

source
CImGui.SetNextWindowContentSizeMethod
SetNextWindowContentSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)

Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. set an axis to 0.0f to leave it automatic. call before Begin().

Upstream link.

source
CImGui.SetNextWindowPosFunction
SetNextWindowPos(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetNextWindowPos(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)
SetNextWindowPos(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer},
    pivot::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)

Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.

Upstream link.

source
CImGui.SetNextWindowSizeFunction
SetNextWindowSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetNextWindowSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

Set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin().

Upstream link.

source
CImGui.SetNextWindowSizeConstraintsFunction
SetNextWindowSizeConstraints(
    size_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    size_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetNextWindowSizeConstraints(
    size_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    size_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    custom_callback::Union{Ptr{Nothing}, Base.CFunction}
)
SetNextWindowSizeConstraints(
    size_min::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    size_max::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    custom_callback::Union{Ptr{Nothing}, Base.CFunction},
    custom_callback_data
)

Set next window size limits. use 0.0f or FLT_MAX if you don't want limits. Use -1 for both min and max of same axis to preserve current size (which itself is a constraint). Use callback to apply non-trivial programmatic constraints.

Upstream link.

source
CImGui.SetScrollFromPosXFunction
SetScrollFromPosX(local_x::Real)
SetScrollFromPosX(local_x::Real, center_x_ratio::Real)

Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.

Upstream link.

source
CImGui.SetScrollFromPosXMethod
SetScrollFromPosX(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    local_x::Real,
    center_x_ratio::Real
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetScrollFromPosYFunction
SetScrollFromPosY(local_y::Real)
SetScrollFromPosY(local_y::Real, center_y_ratio::Real)

Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.

Upstream link.

source
CImGui.SetScrollFromPosYMethod
SetScrollFromPosY(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    local_y::Real,
    center_y_ratio::Real
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetScrollHereXFunction
SetScrollHereX()
SetScrollHereX(center_x_ratio)

Adjust scrolling amount to make current cursor position visible. centerxratio=0.0: left, 0.5: center, 1.0: right. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.

Upstream link.

source
CImGui.SetScrollHereYFunction
SetScrollHereY()
SetScrollHereY(center_y_ratio)

Adjust scrolling amount to make current cursor position visible. centeryratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.

Upstream link.

source
CImGui.SetScrollXMethod
SetScrollX(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    scroll_x::Real
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetScrollYMethod
SetScrollY(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    scroll_y::Real
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetShortcutRoutingMethod
SetShortcutRouting(
    key_chord::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer},
    owner_id::Integer
) -> Bool

Owner_id needs to be explicit and cannot be 0.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetStateStorageMethod
SetStateStorage(
    storage::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiStorage}}
)

Replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it).

Upstream link.

source
CImGui.SetTabItemClosedMethod
SetTabItemClosed(tab_or_docked_window_label)

Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar() and before Tab submissions. Otherwise call with a window name.

Upstream link.

source
CImGui.SetToContextStateMethod
SetToContextState(
    self::Ptr{CImGui.lib.ImGuiStackSizes},
    ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetTooltipMethod
SetTooltip(fmt)

Set a text-only tooltip. Often used after a ImGui::IsItemHovered() check. Override any previous call to SetTooltip().

Upstream link.

source
CImGui.SetWindowCollapsedFunction
SetWindowCollapsed(
    window::Ref{CImGui.lib.ImGuiWindow},
    collapsed::Bool
)
SetWindowCollapsed(
    window::Ref{CImGui.lib.ImGuiWindow},
    collapsed::Bool,
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowCollapsedFunction
SetWindowCollapsed(
    name::Union{Ptr{Int8}, String},
    collapsed::Bool
)
SetWindowCollapsed(
    name::Union{Ptr{Int8}, String},
    collapsed::Bool,
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

Set named window collapsed state.

Upstream link.

source
CImGui.SetWindowCollapsedFunction
SetWindowCollapsed(collapsed::Bool)
SetWindowCollapsed(
    collapsed::Bool,
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

(not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().

Upstream link.

source
CImGui.SetWindowDockMethod
SetWindowDock(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    dock_id::Integer,
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowFontScaleMethod
SetWindowFontScale(scale)

[OBSOLETE] set font scale. Adjust IO.FontGlobalScale if you want to scale all windows. This is an old API! For correct scaling, prefer to reload font + rebuild ImFontAtlas + call style.ScaleAllSizes().

Upstream link.

source
CImGui.SetWindowHitTestHoleMethod
SetWindowHitTestHole(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowParentWindowForFocusRouteMethod
SetWindowParentWindowForFocusRoute(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    parent_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)

You may also use SetNextWindowClass()'s FocusRouteParentWindowId field.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowPosFunction
SetWindowPos(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowPos(
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

(not recommended) set current window position - call within Begin()/End(). prefer using SetNextWindowPos(), as this may incur tearing and side-effects.

Upstream link.

source
CImGui.SetWindowPosFunction
SetWindowPos(
    window::Ref{CImGui.lib.ImGuiWindow},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowPos(
    window::Ref{CImGui.lib.ImGuiWindow},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowPosFunction
SetWindowPos(
    name::Union{Ptr{Int8}, String},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowPos(
    name::Union{Ptr{Int8}, String},
    pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

Set named window position.

Upstream link.

source
CImGui.SetWindowSizeFunction
SetWindowSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowSize(
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

(not recommended) set current window size - call within Begin()/End(). set to ImVec2(0, 0) to force an auto-fit. prefer using SetNextWindowSize(), as this may incur tearing and minor side-effects.

Upstream link.

source
CImGui.SetWindowSizeFunction
SetWindowSize(
    window::Ref{CImGui.lib.ImGuiWindow},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowSize(
    window::Ref{CImGui.lib.ImGuiWindow},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SetWindowSizeFunction
SetWindowSize(
    name::Union{Ptr{Int8}, String},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
SetWindowSize(
    name::Union{Ptr{Int8}, String},
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cond::Union{CImGui.lib.ImGuiCond_, Integer}
)

Set named window size. set axis to 0.0f to force an auto-fit on this axis.

Upstream link.

source
CImGui.SetWindowViewportMethod
SetWindowViewport(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewportP}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShadeVertsLinearColorGradientKeepAlphaMethod
ShadeVertsLinearColorGradientKeepAlpha(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    vert_start_idx,
    vert_end_idx,
    gradient_p0::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    gradient_p1::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    col0::Integer,
    col1::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShadeVertsLinearUVMethod
ShadeVertsLinearUV(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    vert_start_idx,
    vert_end_idx,
    a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_a::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    uv_b::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    clamp
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShadeVertsTransformPosMethod
ShadeVertsTransformPos(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    vert_start_idx,
    vert_end_idx,
    pivot_in::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    cos_a,
    sin_a,
    pivot_out::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShortcutFunction
Shortcut(key_chord::Integer) -> Bool
Shortcut(
    key_chord::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.ShortcutMethod
Shortcut(
    key_chord::Integer,
    flags::Union{CImGui.lib.ImGuiInputFlags_, Integer},
    owner_id::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShowDemoWindowFunction
ShowDemoWindow()
ShowDemoWindow(p_open)

Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!

Upstream link.

source
CImGui.ShowMetricsWindowFunction
ShowMetricsWindow()
ShowMetricsWindow(p_open)

Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.

Upstream link.

source
CImGui.ShowStyleEditorFunction
ShowStyleEditor()
ShowStyleEditor(
    ref::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiStyle}}
)

Add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to and save to (else it uses the default style).

Upstream link.

source
CImGui.ShrinkWidthsMethod
ShrinkWidths(
    items::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiShrinkWidthItem}},
    count,
    width_excess
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.ShutdownMethod
Shutdown()

Since 1.60 this is a private function. You can call DestroyContext() to destroy the context created by CreateContext().

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SizeMethod
Size(self::Ptr{CImGui.lib.ImGuiTextIndex}) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SliderAngleFunction
SliderAngle(label, v_rad) -> Bool
SliderAngle(label, v_rad, v_degrees_min) -> Bool
SliderAngle(
    label,
    v_rad,
    v_degrees_min,
    v_degrees_max
) -> Bool
SliderAngle(
    label,
    v_rad,
    v_degrees_min,
    v_degrees_max,
    format
) -> Bool
SliderAngle(
    label,
    v_rad,
    v_degrees_min,
    v_degrees_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderBehaviorMethod
SliderBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_v,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer},
    out_grab_bb::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.SliderFloatFunction
SliderFloat(label, v, v_min, v_max) -> Bool
SliderFloat(label, v, v_min, v_max, format) -> Bool
SliderFloat(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display.

Upstream link.

source
CImGui.SliderFloat2Function
SliderFloat2(label, v, v_min, v_max) -> Bool
SliderFloat2(label, v, v_min, v_max, format) -> Bool
SliderFloat2(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderFloat3Function
SliderFloat3(label, v, v_min, v_max) -> Bool
SliderFloat3(label, v, v_min, v_max, format) -> Bool
SliderFloat3(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderFloat4Function
SliderFloat4(label, v, v_min, v_max) -> Bool
SliderFloat4(label, v, v_min, v_max, format) -> Bool
SliderFloat4(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderIntFunction
SliderInt(label, v, v_min, v_max) -> Bool
SliderInt(label, v, v_min, v_max, format) -> Bool
SliderInt(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderInt2Function
SliderInt2(label, v, v_min, v_max) -> Bool
SliderInt2(label, v, v_min, v_max, format) -> Bool
SliderInt2(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderInt3Function
SliderInt3(label, v, v_min, v_max) -> Bool
SliderInt3(label, v, v_min, v_max, format) -> Bool
SliderInt3(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderInt4Function
SliderInt4(label, v, v_min, v_max) -> Bool
SliderInt4(label, v, v_min, v_max, format) -> Bool
SliderInt4(
    label,
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderScalarFunction
SliderScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max
) -> Bool
SliderScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max,
    format
) -> Bool
SliderScalar(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SliderScalarNFunction
SliderScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_min,
    p_max
) -> Bool
SliderScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_min,
    p_max,
    format
) -> Bool
SliderScalarN(
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    components,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.SplitMethod
Split(
    self::Ptr{CImGui.lib.ImDrawListSplitter},
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    count
)

Upstream link.

source
CImGui.SplitMethod
Split(
    self::Ptr{CImGui.lib.ImGuiTextRange},
    separator,
    out::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_ImGuiTextRange}}
)

Upstream link.

source
CImGui.SplitterBehaviorFunction
SplitterBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    axis::CImGui.lib.ImGuiAxis,
    size1,
    size2,
    min_size1,
    min_size2
) -> Bool
SplitterBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    axis::CImGui.lib.ImGuiAxis,
    size1,
    size2,
    min_size1,
    min_size2,
    hover_extend
) -> Bool
SplitterBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    axis::CImGui.lib.ImGuiAxis,
    size1,
    size2,
    min_size1,
    min_size2,
    hover_extend,
    hover_visibility_delay
) -> Bool
SplitterBehavior(
    bb::CImGui.lib.ImRect,
    id::Integer,
    axis::CImGui.lib.ImGuiAxis,
    size1,
    size2,
    min_size1,
    min_size2,
    hover_extend,
    hover_visibility_delay,
    bg_col::Integer
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.StartMouseMovingWindowOrNodeMethod
StartMouseMovingWindowOrNode(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
    undock
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.StepMethod
Step(self::Ptr{CImGui.lib.ImGuiListClipper}) -> Bool

Call until it returns false. The DisplayStart/DisplayEnd fields will be set and you can process/draw those items.

Upstream link.

source
CImGui.SwapMethod
Swap(
    self::Ptr{CImGui.lib.ImGuiSelectionBasicStorage},
    r::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiSelectionBasicStorage}}
)

Swap two selections.

Upstream link.

source
CImGui.TabBarAddTabMethod
TabBarAddTab(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab_flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer},
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarCloseTabMethod
TabBarCloseTab(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarFindTabByIDMethod
TabBarFindTabByID(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab_id::Integer
) -> Ptr{CImGui.lib.ImGuiTabItem}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarFindTabByOrderMethod
TabBarFindTabByOrder(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    order
) -> Ptr{CImGui.lib.ImGuiTabItem}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarGetCurrentTabMethod
TabBarGetCurrentTab(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}}
) -> Ptr{CImGui.lib.ImGuiTabItem}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarGetTabNameMethod
TabBarGetTabName(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}}
) -> Ptr{Int8}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarGetTabOrderMethod
TabBarGetTabOrder(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}}
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarQueueFocusMethod
TabBarQueueFocus(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarQueueReorderMethod
TabBarQueueReorder(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}},
    offset
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarQueueReorderFromMousePosMethod
TabBarQueueReorderFromMousePos(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabItem}},
    mouse_pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabBarRemoveTabMethod
TabBarRemoveTab(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    tab_id::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabItemBackgroundMethod
TabItemBackground(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    bb::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer},
    col::Integer
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabItemButtonFunction
TabItemButton(label) -> Bool
TabItemButton(
    label,
    flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer}
) -> Bool

Create a Tab behaving like a button. return true when clicked. cannot be selected in the tab bar.

Upstream link.

source
CImGui.TabItemCalcSizeMethod
TabItemCalcSize(
    label::Union{Ptr{Int8}, String},
    has_close_button_or_unsaved_marker::Bool
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabItemCalcSizeMethod
TabItemCalcSize(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabItemExMethod
TabItemEx(
    tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
    label,
    p_open,
    flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer},
    docked_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TabItemLabelAndCloseButtonMethod
TabItemLabelAndCloseButton(
    draw_list::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawList}},
    bb::CImGui.lib.ImRect,
    flags::Union{CImGui.lib.ImGuiTabItemFlags_, Integer},
    frame_padding::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    label,
    tab_id::Integer,
    close_button_id::Integer,
    is_contents_visible,
    out_just_closed,
    out_text_clipped
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableAngledHeadersRowExMethod
TableAngledHeadersRowEx(
    row_id::Integer,
    angle,
    max_label_width,
    data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTableHeaderData}},
    data_count
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableDrawDefaultContextMenuMethod
TableDrawDefaultContextMenu(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    flags_for_section_to_display::Union{CImGui.lib.ImGuiTableFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableFixColumnSortDirectionMethod
TableFixColumnSortDirection(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTableColumn}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetBoundSettingsMethod
TableGetBoundSettings(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}}
) -> Ptr{CImGui.lib.ImGuiTableSettings}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetCellBgRectMethod
TableGetCellBgRect(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column_n
) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetColumnFlagsFunction
TableGetColumnFlags() -> Int32
TableGetColumnFlags(column_n) -> Int32

Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.

Upstream link.

source
CImGui.TableGetColumnNameFunction
TableGetColumnName() -> Ptr{Int8}
TableGetColumnName(column_n::Integer) -> Ptr{Int8}

Return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.

Upstream link.

source
CImGui.TableGetColumnNameMethod
TableGetColumnName(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column_n::Integer
) -> Ptr{Int8}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetColumnResizeIDFunction
TableGetColumnResizeID(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column_n
) -> UInt32
TableGetColumnResizeID(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column_n,
    instance_no
) -> UInt32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetColumnWidthAutoMethod
TableGetColumnWidthAuto(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    column::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTableColumn}}
) -> Float32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetHoveredColumnMethod
TableGetHoveredColumn() -> Int32

Return hovered column. return -1 when table is not hovered. return columnscount if the unused space at the right of visible columns is hovered. Can also use (TableGetColumnFlags() & ImGuiTableColumnFlagsIsHovered) instead.

Upstream link.

source
CImGui.TableGetHoveredRowMethod
TableGetHoveredRow() -> Int32

Retrieve PREVIOUS FRAME hovered row. This difference with TableGetHoveredColumn() is the reason why this is not public yet.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetInstanceDataMethod
TableGetInstanceData(
    table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
    instance_no
) -> Ptr{CImGui.lib.ImGuiTableInstanceData}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TableGetSortSpecsMethod
TableGetSortSpecs() -> Ptr{CImGui.lib.ImGuiTableSortSpecs}

Get latest sort specs for the table (NULL if not sorting). Lifetime: don't hold on this pointer over multiple frames or past any subsequent call to BeginTable().

Upstream link.

source
CImGui.TableNextRowFunction
TableNextRow()
TableNextRow(
    row_flags::Union{CImGui.lib.ImGuiTableRowFlags_, Integer}
)
TableNextRow(
    row_flags::Union{CImGui.lib.ImGuiTableRowFlags_, Integer},
    min_row_height
)

Append into the first cell of a new row.

Upstream link.

source
CImGui.TableSetBgColorFunction
TableSetBgColor(
    target::Union{CImGui.lib.ImGuiTableBgTarget_, Integer},
    color::Integer
)
TableSetBgColor(
    target::Union{CImGui.lib.ImGuiTableBgTarget_, Integer},
    color::Integer,
    column_n
)

Change the color of a cell, row, or column. See ImGuiTableBgTarget_ flags for details.

Upstream link.

source
CImGui.TableSetColumnEnabledMethod
TableSetColumnEnabled(column_n, v)

Change user accessible enabled/disabled state of a column. Set to false to hide the column. User can use the context menu to change this themselves (right-click in headers, or right-click in columns body with ImGuiTableFlags_ContextMenuInBody).

Upstream link.

source
CImGui.TableSetupColumnFunction
TableSetupColumn(label)
TableSetupColumn(
    label,
    flags::Union{CImGui.lib.ImGuiTableColumnFlags_, Integer}
)
TableSetupColumn(
    label,
    flags::Union{CImGui.lib.ImGuiTableColumnFlags_, Integer},
    init_width_or_weight
)
TableSetupColumn(
    label,
    flags::Union{CImGui.lib.ImGuiTableColumnFlags_, Integer},
    init_width_or_weight,
    user_id::Integer
)

Upstream link.

source
CImGui.TempInputScalarFunction
TempInputScalar(
    bb::CImGui.lib.ImRect,
    id::Integer,
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format
) -> Bool
TempInputScalar(
    bb::CImGui.lib.ImRect,
    id::Integer,
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format,
    p_clamp_min
) -> Bool
TempInputScalar(
    bb::CImGui.lib.ImRect,
    id::Integer,
    label,
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    format,
    p_clamp_min,
    p_clamp_max
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TempInputTextMethod
TempInputText(
    bb::CImGui.lib.ImRect,
    id::Integer,
    label,
    buf,
    buf_size,
    flags::Union{CImGui.lib.ImGuiInputTextFlags_, Integer}
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TestKeyOwnerMethod
TestKeyOwner(
    key::CImGui.lib.ImGuiKey,
    owner_id::Integer
) -> Bool

Test that key is either not owned, either owned by 'owner_id'.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TextColoredMethod
TextColored(
    col::Union{CImGui.lib.ImVec4, NTuple{4, T} where T},
    fmt
)

Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.

Upstream link.

source
CImGui.TextExFunction
TextEx(text)
TextEx(text, text_end)
TextEx(
    text,
    text_end,
    flags::Union{CImGui.lib.ImGuiTextFlags_, Integer}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TextUnformattedFunction
TextUnformatted(text)
TextUnformatted(text, text_end)

Raw text without formatting. Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if 'text_end' is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.

Upstream link.

source
CImGui.TextWrappedMethod
TextWrapped(fmt)

Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, yoy may need to set a size using SetNextWindowSize().

Upstream link.

source
CImGui.ToVec4Method
ToVec4(self::Ptr{CImGui.lib.ImRect}) -> CImGui.lib.ImVec4
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TranslateMethod
Translate(
    self::Ptr{CImGui.lib.ImRect},
    d::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TranslateWindowsInViewportMethod
TranslateWindowsInViewport(
    viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewportP}},
    old_pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    new_pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TreeNodeMethod
TreeNode(
    str_id::Union{Ptr{Int8}, String},
    fmt::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool

Helper variation to easily decorelate the id from the displayed string. Read the FAQ about why and how to use ID. to align arbitrary text at the same level as a TreeNode() you can use Bullet().

Upstream link.

source
CImGui.TreeNodeBehaviorFunction
TreeNodeBehavior(
    id::Integer,
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer},
    label
) -> Bool
TreeNodeBehavior(
    id::Integer,
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer},
    label,
    label_end
) -> Bool
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TreeNodeExFunction
TreeNodeEx(label::Union{Ptr{Int8}, String}) -> Bool
TreeNodeEx(
    label::Union{Ptr{Int8}, String},
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.TreeNodeExMethod
TreeNodeEx(
    ptr_id::Ref{Nothing},
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer},
    fmt::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool

Upstream link.

source
CImGui.TreeNodeExMethod
TreeNodeEx(
    str_id::Union{Ptr{Int8}, String},
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer},
    fmt::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> Bool

Upstream link.

source
CImGui.TreeNodeUpdateNextOpenMethod
TreeNodeUpdateNextOpen(
    storage_id::Integer,
    flags::Union{CImGui.lib.ImGuiTreeNodeFlags_, Integer}
) -> Bool

Return open state. Consume previous SetNextItemOpen() data, if any. May return true when logging.

Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TreePushMethod
TreePush(str_id::Union{Ptr{Int8}, String})

~ Indent()+PushID(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.

Upstream link.

source
CImGui.TypingSelectFindMatchMethod
TypingSelectFindMatch(
    req::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTypingSelectRequest}},
    items_count,
    get_item_name_func,
    user_data,
    nav_item_idx
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.TypingSelectFindNextSingleCharMatchMethod
TypingSelectFindNextSingleCharMatch(
    req::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTypingSelectRequest}},
    items_count,
    get_item_name_func,
    user_data,
    nav_item_idx
) -> Int32
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.UpdateMethod
Update(
    self::Ptr{CImGui.lib.ImGuiMenuColumns},
    spacing,
    window_reappearing
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.UpdatePlatformWindowsMethod
UpdatePlatformWindows()

Call in main loop. will call CreateWindow/ResizeWindow/etc. platform functions for each secondary viewport, and DestroyWindow for each inactive viewport.

Upstream link.

source
CImGui.UpdateWindowParentAndRootLinksMethod
UpdateWindowParentAndRootLinks(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    flags::Union{CImGui.lib.ImGuiWindowFlags_, Integer},
    parent_window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.VSliderFloatFunction
VSliderFloat(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max
) -> Bool
VSliderFloat(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max,
    format
) -> Bool
VSliderFloat(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.VSliderIntFunction
VSliderInt(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max
) -> Bool
VSliderInt(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max,
    format
) -> Bool
VSliderInt(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    v,
    v_min,
    v_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.VSliderScalarFunction
VSliderScalar(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max
) -> Bool
VSliderScalar(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max,
    format
) -> Bool
VSliderScalar(
    label,
    size::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    data_type::Union{CImGui.lib.ImGuiDataType_, Integer},
    p_data,
    p_min,
    p_max,
    format,
    flags::Union{CImGui.lib.ImGuiSliderFlags_, Integer}
) -> Bool

Upstream link.

source
CImGui.ValueFunction
Value(
    prefix::Union{Ptr{Int8}, Ptr{Nothing}, String},
    v::Real
)
Value(
    prefix::Union{Ptr{Int8}, Ptr{Nothing}, String},
    v::Real,
    float_format::Union{Ptr{Int8}, Ptr{Nothing}, String}
)

Upstream link.

source
CImGui.WindowPosAbsToRelMethod
WindowPosAbsToRel(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.WindowPosRelToAbsMethod
WindowPosRelToAbs(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    p::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> CImGui.lib.ImVec2
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.WindowRectAbsToRelMethod
WindowRectAbsToRel(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    r::CImGui.lib.ImRect
) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.WindowRectRelToAbsMethod
WindowRectRelToAbs(
    window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}},
    r::CImGui.lib.ImRect
) -> CImGui.lib.ImRect
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui._PathArcToNMethod
_PathArcToN(
    self::Ptr{CImGui.lib.ImDrawList},
    center::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
    radius,
    a_min,
    a_max,
    num_segments
)

Upstream link.

source
CImGui.lib.ImColorType
ImColor(
    r::Integer,
    g::Integer,
    b::Integer
) -> Ptr{CImGui.lib.ImColor}
ImColor(
    r::Integer,
    g::Integer,
    b::Integer,
    a::Integer
) -> Ptr{CImGui.lib.ImColor}

Upstream link.

source
CImGui.lib.ImGuiContextMethod
ImGuiContext(
    shared_font_atlas::Union{Ptr{Nothing}, Ref{CImGui.lib.ImFontAtlas}}
) -> Ptr{CImGui.lib.ImGuiContext}

// All platforms use Ctrl+Tab but Ctrl<>Super are swapped on Mac... // FIXME: Because this value is stored, it annoyingly interfere with toggling io.ConfigMacOSXBehaviors updating this.. ConfigNavWindowingKeyNext = IO.ConfigMacOSXBehaviors ? (ImGuiModSuper | ImGuiKeyTab) : (ImGuiModCtrl | ImGuiKeyTab); ConfigNavWindowingKeyPrev = IO.ConfigMacOSXBehaviors ? (ImGuiModSuper | ImGuiModShift | ImGuiKeyTab) : (ImGuiModCtrl | ImGuiModShift | ImGuiKeyTab); NavWindowingTarget = NavWindowingTargetAnim = NavWindowingListWindow = ((void *)0) ; NavWindowingTimer = NavWindowingHighlightAlpha = 0.0f; NavWindowingToggleLayer = false; NavWindowingToggleKey = ImGuiKey_None;

    DimBgRatio = 0.0f;

    DragDropActive = DragDropWithinSource = DragDropWithinTarget = false;
    DragDropSourceFlags = ImGuiDragDropFlags_None;
    DragDropSourceFrameCount = -1;
    DragDropMouseButton = -1;
    DragDropTargetId = 0;
    DragDropAcceptFlags = ImGuiDragDropFlags_None;
    DragDropAcceptIdCurrRectSurface = 0.0f;
    DragDropAcceptIdPrev = DragDropAcceptIdCurr = 0;
    DragDropAcceptFrameCount = -1;
    DragDropHoldJustPressedId = 0;
    memset(DragDropPayloadBufLocal, 0, sizeof(DragDropPayloadBufLocal));

    ClipperTempDataStacked = 0;

    CurrentTable =                       ((void *)0)                          ;
    TablesTempDataStacked = 0;
    CurrentTabBar =                        ((void *)0)                           ;
    CurrentMultiSelect =                             ((void *)0)                                ;
    MultiSelectTempDataStacked = 0;

    HoverItemDelayId = HoverItemDelayIdPreviousFrame = HoverItemUnlockedStationaryId = HoverWindowUnlockedStationaryId = 0;
    HoverItemDelayTimer = HoverItemDelayClearTimer = 0.0f;

    MouseCursor = ImGuiMouseCursor_Arrow;
    MouseStationaryTimer = 0.0f;

    TempInputId = 0;
    memset(&DataTypeZeroValue, 0, sizeof(DataTypeZeroValue));
    BeginMenuDepth = BeginComboDepth = 0;
    ColorEditOptions = ImGuiColorEditFlags_DefaultOptions_;
    ColorEditCurrentID = ColorEditSavedID = 0;
    ColorEditSavedHue = ColorEditSavedSat = 0.0f;
    ColorEditSavedColor = 0;
    WindowResizeRelativeMode = false;
    ScrollbarSeekMode = 0;
    ScrollbarClickDeltaToGrabCenter = 0.0f;
    SliderGrabClickOffset = 0.0f;
    SliderCurrentAccum = 0.0f;
    SliderCurrentAccumDirty = false;
    DragCurrentAccumDirty = false;
    DragCurrentAccum = 0.0f;
    DragSpeedDefaultRatio = 1.0f / 100.0f;
    DisabledAlphaBackup = 0.0f;
    DisabledStackSize = 0;
    LockMarkEdited = 0;
    TooltipOverrideCount = 0;

    PlatformImeData.InputPos = ImVec2(0.0f, 0.0f);
    PlatformImeDataPrev.InputPos = ImVec2(-1.0f, -1.0f); // Different to ensure initial submission
    PlatformImeViewport = 0;

    DockNodeWindowMenuHandler =                                    ((void *)0)                                       ;

    SettingsLoaded = false;
    SettingsDirtyTimer = 0.0f;
    HookIdNext = 0;

    memset(LocalizationTable, 0, sizeof(LocalizationTable));

    LogEnabled = false;
    LogType = ImGuiLogType_None;
    LogNextPrefix = LogNextSuffix =                                        ((void *)0)                                           ;
    LogFile =                  ((void *)0)                     ;
    LogLinePosY = 3.40282346638528859811704183484516925e+38F;
    LogLineFirstItem = false;
    LogDepthRef = 0;
    LogDepthToExpand = LogDepthToExpandDefault = 2;

    DebugLogFlags = ImGuiDebugLogFlags_OutputToTTY;
    DebugLocateId = 0;
    DebugLogAutoDisableFlags = ImGuiDebugLogFlags_None;
    DebugLogAutoDisableFrames = 0;
    DebugLocateFrames = 0;
    DebugBeginReturnValueCullDepth = -1;
    DebugItemPickerActive = false;
    DebugItemPickerMouseButton = ImGuiMouseButton_Left;
    DebugItemPickerBreakId = 0;
    DebugFlashStyleColorTime = 0.0f;
    DebugFlashStyleColorIdx = ImGuiCol_COUNT;
    DebugHoveredDockNode =                               ((void *)0)                                  ;

    // Same as DebugBreakClearData(). Those fields are scattered in their respective subsystem to stay in hot-data locations
    DebugBreakInWindow = 0;
    DebugBreakInTable = 0;
    DebugBreakInLocateId = false;
    DebugBreakKeyChord = ImGuiKey_Pause;
    DebugBreakInShortcutRouting = ImGuiKey_None;

    memset(FramerateSecPerFrame, 0, sizeof(FramerateSecPerFrame));
    FramerateSecPerFrameIdx = FramerateSecPerFrameCount = 0;
    FramerateSecPerFrameAccum = 0.0f;
    WantCaptureMouseNextFrame = WantCaptureKeyboardNextFrame = WantTextInputNextFrame = -1;
    memset(TempKeychordName, 0, sizeof(TempKeychordName));
}.
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.lib.ImGuiStyleModMethod
ImGuiStyleMod(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer},
    v::Integer
) -> Ptr{CImGui.lib.ImGuiStyleMod}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.lib.ImGuiStyleModMethod
ImGuiStyleMod(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer},
    v::Real
) -> Ptr{CImGui.lib.ImGuiStyleMod}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.lib.ImGuiStyleModMethod
ImGuiStyleMod(
    idx::Union{CImGui.lib.ImGuiStyleVar_, Integer},
    v::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Ptr{CImGui.lib.ImGuiStyleMod}
Warning

This function is internal, it may change in the future.

Upstream link.

source
CImGui.lib.ImGuiWindowMethod
ImGuiWindow(
    context::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
    name
) -> Ptr{CImGui.lib.ImGuiWindow}
Warning

This function is internal, it may change in the future.

Upstream link.

source