ImGui

imgui.ImGui (Class)

Static Members

createContext(?sharedFontAtlas: cpp.Star = null): cpp.Star
Name Type Default
sharedFontAtlas cpp.Star null
Returns
cpp.Star

destroyContext(?ctx: cpp.Star = null): Void

NULL = destroy current context

Name Type Default
ctx cpp.Star null

getCurrentContext(): cpp.Star
Returns
cpp.Star

setCurrentContext(ctx: cpp.Star): Void
Name Type
ctx cpp.Star

getIO(): cpp.Star

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

Returns
cpp.Star

getPlatformIO(): cpp.Star

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

Returns
cpp.Star

getStyle(): cpp.Star

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

Returns
cpp.Star

newFrame(): Void

start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame().


endFrame(): Void

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!


render(): Void

ends the Dear ImGui frame, finalize the draw data. You can then get call GetDrawData().


getDrawData(): cpp.Star

valid after Render() and until the next call to NewFrame(). Call ImGui_ImplXXXX_RenderDrawData() function in your Renderer Backend to render.

Returns
cpp.Star

showIDStackToolWindow(): Void

Implied p_open = NULL


showStyleEditor(?ref: cpp.Star = null): Void

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)

Name Type Default
ref cpp.Star null

showStyleSelector(label: String): Bool

add style selector block (not a window), essentially a combo listing the default styles.

Name Type
label String
Returns
Bool

showFontSelector(label: String): Void

add font selector block (not a window), essentially a combo listing the loaded fonts.

Name Type
label String

showUserGuide(): Void

add basic help/info block (not a window): how to manipulate ImGui as an end-user (mouse/keyboard controls).


getVersion(): String

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

Returns
String

styleColorsDark(?dst: cpp.Star = null): Void

new, recommended style (default)

Name Type Default
dst cpp.Star null

styleColorsLight(?dst: cpp.Star = null): Void

best used with borders and a custom, thicker font

Name Type Default
dst cpp.Star null

styleColorsClassic(?dst: cpp.Star = null): Void

classic imgui style

Name Type Default
dst cpp.Star null

end(): Void

beginChild(strId: String, size: ImVec2, ?childFlags: Int = 0, ?windowFlags: Int = 0): Bool
Name Type Default
strId String
size ImVec2
childFlags Int 0
windowFlags Int 0
Returns
Bool

beginChildID(id: ImGuiID, size: ImVec2, ?childFlags: Int = 0, ?windowFlags: Int = 0): Bool
Name Type Default
id ImGuiID
size ImVec2
childFlags Int 0
windowFlags Int 0
Returns
Bool

endChild(): Void

isWindowAppearing(): Bool
Returns
Bool

isWindowCollapsed(): Bool
Returns
Bool

isWindowFocused(?flags: Int = 0): Bool

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

Name Type Default
flags Int 0
Returns
Bool

isWindowHovered(?flags: Int = 0): 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.

Name Type Default
flags Int 0
Returns
Bool

getWindowDrawList(): cpp.Star

get draw list associated to the current window, to append your own drawing primitives

Returns
cpp.Star

getWindowDpiScale(): Float

get DPI scale currently associated to the current window's viewport.

Returns
Float

getWindowPos(): ImVec2

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

Returns
ImVec2

getWindowSize(): ImVec2

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

Returns
ImVec2

getWindowWidth(): Float

get current window width (IT IS UNLIKELY YOU EVER NEED TO USE THIS). Shortcut for GetWindowSize().x.

Returns
Float

getWindowHeight(): Float

get current window height (IT IS UNLIKELY YOU EVER NEED TO USE THIS). Shortcut for GetWindowSize().y.

Returns
Float

getWindowViewport(): cpp.Star

get viewport currently associated to the current window.

Returns
cpp.Star

setNextWindowPosEx(pos: ImVec2, ?cond: Int = 0, pivot: ImVec2): Void

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

Name Type Default
pos ImVec2
cond Int 0
pivot ImVec2

setNextWindowPos(pos: ImVec2, ?cond: Int = 0): Void

Implied pivot = ImVec2(0, 0)

Name Type Default
pos ImVec2
cond Int 0

setNextWindowSize(size: ImVec2, ?cond: Int = 0): Void

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

Name Type Default
size ImVec2
cond Int 0

setNextWindowSizeConstraints(sizeMin: ImVec2, sizeMax: ImVec2, ?customCallback: Null<ImGuiOpaqueCallback> = null, ?customCallbackData: cpp.RawPointer<cpp.Void> = null): Void

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.

Name Type Default
sizeMin ImVec2
sizeMax ImVec2
customCallback Null<ImGuiOpaqueCallback> null
customCallbackData cpp.RawPointer<cpp.Void> null

setNextWindowContentSize(size: ImVec2): Void

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()

Name Type
size ImVec2

setNextWindowCollapsed(collapsed: Bool, ?cond: Int = 0): Void

set next window collapsed state. call before Begin()

Name Type Default
collapsed Bool
cond Int 0

setNextWindowFocus(): Void

set next window to be focused / top-most. call before Begin()


setNextWindowScroll(scroll: ImVec2): Void

set next window scrolling value (use < 0.0f to not affect a given axis).

Name Type
scroll ImVec2

setNextWindowBgAlpha(alpha: Float): Void

set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlags_NoBackground.

Name Type
alpha Float

setNextWindowViewport(viewportId: ImGuiID): Void

set next window viewport

Name Type
viewportId ImGuiID

setWindowPos(pos: ImVec2, ?cond: Int = 0): Void

(not recommended) set current window position - call within Begin()/End(). prefer using SetNextWindowPos(), as this may incur tearing and side-effects.

Name Type Default
pos ImVec2
cond Int 0

setWindowSize(size: ImVec2, ?cond: Int = 0): Void

(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.

Name Type Default
size ImVec2
cond Int 0

setWindowCollapsed(collapsed: Bool, ?cond: Int = 0): Void

(not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().

Name Type Default
collapsed Bool
cond Int 0

setWindowFocus(): Void

(not recommended) set current window to be focused / top-most. prefer using SetNextWindowFocus().


setWindowPosStr(name: String, pos: ImVec2, ?cond: Int = 0): Void

set named window position.

Name Type Default
name String
pos ImVec2
cond Int 0

setWindowSizeStr(name: String, size: ImVec2, ?cond: Int = 0): Void

set named window size. set axis to 0.0f to force an auto-fit on this axis.

Name Type Default
name String
size ImVec2
cond Int 0

setWindowCollapsedStr(name: String, collapsed: Bool, ?cond: Int = 0): Void

set named window collapsed state

Name Type Default
name String
collapsed Bool
cond Int 0

setWindowFocusStr(name: String): Void

set named window to be focused / top-most. use NULL to remove focus.

Name Type
name String

getScrollX(): Float

get scrolling amount [0 .. GetScrollMaxX()]

Returns
Float

getScrollY(): Float

get scrolling amount [0 .. GetScrollMaxY()]

Returns
Float

setScrollX(scrollX: Float): Void

set scrolling amount [0 .. GetScrollMaxX()]

Name Type
scrollX Float

setScrollY(scrollY: Float): Void

set scrolling amount [0 .. GetScrollMaxY()]

Name Type
scrollY Float

getScrollMaxX(): Float

get maximum scrolling amount ~~ ContentSize.x - WindowSize.x - DecorationsSize.x

Returns
Float

getScrollMaxY(): Float

get maximum scrolling amount ~~ ContentSize.y - WindowSize.y - DecorationsSize.y

Returns
Float

setScrollHereX(?centerXRatio: Float = 0.5): Void

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

Name Type Default
centerXRatio Float 0.5

setScrollHereY(?centerYRatio: Float = 0.5): Void

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

Name Type Default
centerYRatio Float 0.5

setScrollFromPosX(localX: Float, ?centerXRatio: Float = 0.5): Void

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

Name Type Default
localX Float
centerXRatio Float 0.5

setScrollFromPosY(localY: Float, ?centerYRatio: Float = 0.5): Void

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

Name Type Default
localY Float
centerYRatio Float 0.5

pushFontFloat(font: cpp.Star, fontSizeBaseUnscaled: cpp.Float32): Void

Use NULL as a shortcut to keep current font. Use 0.0f to keep current size.

Name Type
font cpp.Star
fontSizeBaseUnscaled cpp.Float32

popFont(): Void

getFont(): cpp.Star

get current font

Returns
cpp.Star

getFontSize(): Float

get current scaled font size (= height in pixels). AFTER global scale factors applied. IMPORTANT DO NOT PASS THIS VALUE TO PushFont()! Use ImGui::GetStyle().FontSizeBase to get value before global scale factors.

Returns
Float

getFontBaked(): cpp.Star

get current font bound at current size // == GetFont()->GetFontBaked(GetFontSize())

Returns
cpp.Star

pushStyleColor(idx: Int, col: ImU32): Void

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

Name Type
idx Int
col ImU32

pushStyleColorImVec4(idx: Int, col: ImVec4): Void
Name Type
idx Int
col ImVec4

popStyleColorEx(?count: Int = 1): Void
Name Type Default
count Int 1

popStyleColor(): Void

Implied count = 1


pushStyleVar(idx: Int, val: Float): Void

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

Name Type
idx Int
val Float

pushStyleVarImVec2(idx: Int, val: ImVec2): Void

modify a style ImVec2 variable. "

Name Type
idx Int
val ImVec2

pushStyleVarX(idx: Int, valX: Float): Void

modify X component of a style ImVec2 variable. "

Name Type
idx Int
valX Float

pushStyleVarY(idx: Int, valY: Float): Void

modify Y component of a style ImVec2 variable. "

Name Type
idx Int
valY Float

popStyleVarEx(?count: Int = 1): Void
Name Type Default
count Int 1

popStyleVar(): Void

Implied count = 1


pushItemFlag(option: Int, enabled: Bool): Void

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

Name Type
option Int
enabled Bool

popItemFlag(): Void

pushItemWidth(itemWidth: Float): Void

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).

Name Type
itemWidth Float

popItemWidth(): Void

setNextItemWidth(itemWidth: Float): Void

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)

Name Type
itemWidth Float

calcItemWidth(): Float

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

Returns
Float

pushTextWrapPos(?wrapLocalPosX: Float = 0.0): Void

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

Name Type Default
wrapLocalPosX Float 0.0

popTextWrapPos(): Void

getFontTexUvWhitePixel(): ImVec2

get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API

Returns
ImVec2

getColorU32Ex(idx: Int, ?alphaMul: Float = 1.0): UInt

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

Name Type Default
idx Int
alphaMul Float 1.0
Returns
UInt

getColorU32(idx: Int): UInt

Implied alpha_mul = 1.0f

Name Type
idx Int
Returns
UInt

getColorU32ImVec4(col: ImVec4): UInt

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

Name Type
col ImVec4
Returns
UInt

getColorU32ImU32Ex(col: ImU32, ?alphaMul: Float = 1.0): UInt

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

Name Type Default
col ImU32
alphaMul Float 1.0
Returns
UInt

getColorU32ImU32(col: ImU32): UInt

Implied alpha_mul = 1.0f

Name Type
col ImU32
Returns
UInt

getStyleColorVec4(idx: Int): cpp.Star

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.

Name Type
idx Int
Returns
cpp.Star

getCursorScreenPos(): ImVec2

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

Returns
ImVec2

setCursorScreenPos(pos: ImVec2): Void

cursor position, absolute coordinates. THIS IS YOUR BEST FRIEND.

Name Type
pos ImVec2

getContentRegionAvail(): ImVec2

available space from current position. THIS IS YOUR BEST FRIEND.

Returns
ImVec2

getCursorPos(): ImVec2

[window-local] cursor position in window-local coordinates. This is not your best friend.

Returns
ImVec2

getCursorPosX(): Float

[window-local] "

Returns
Float

getCursorPosY(): Float

[window-local] "

Returns
Float

setCursorPos(localPos: ImVec2): Void

[window-local] "

Name Type
localPos ImVec2

setCursorPosX(localX: Float): Void

[window-local] "

Name Type
localX Float

setCursorPosY(localY: Float): Void

[window-local] "

Name Type
localY Float

getCursorStartPos(): ImVec2

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

Returns
ImVec2

separator(): Void

separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.


sameLineEx(?offsetFromStartX: Float = 0.0, ?spacing: Float = -1.0): Void

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

Name Type Default
offsetFromStartX Float 0.0
spacing Float -1.0

sameLine(): Void

Implied offset_from_start_x = 0.0f, spacing = -1.0f


newLine(): Void

undo a SameLine() or force a new line when in a horizontal-layout context.


spacing(): Void

add vertical spacing.


dummy(size: ImVec2): Void

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

Name Type
size ImVec2

indentEx(?indentW: Float = 0.0): Void

move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0

Name Type Default
indentW Float 0.0

indent(): Void

Implied indent_w = 0.0f


unindentEx(?indentW: Float = 0.0): Void

move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0

Name Type Default
indentW Float 0.0

unindent(): Void

Implied indent_w = 0.0f


beginGroup(): Void

lock horizontal starting position


endGroup(): Void

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.)


alignTextToFramePadding(): Void

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)


getTextLineHeight(): Float

~ FontSize

Returns
Float

getTextLineHeightWithSpacing(): Float

~ FontSize + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of text)

Returns
Float

getFrameHeight(): Float

~ FontSize + style.FramePadding.y * 2

Returns
Float

getFrameHeightWithSpacing(): Float

~ FontSize + style.FramePadding.y * 2 + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets)

Returns
Float

pushID(strId: String): Void

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

Name Type
strId String

pushIDStr(strIdBegin: String, strIdEnd: String): Void

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

Name Type
strIdBegin String
strIdEnd String

pushIDPtr(ptrId: cpp.RawPointer<cpp.Void>): Void

push pointer into the ID stack (will hash pointer).

Name Type
ptrId cpp.RawPointer<cpp.Void>

pushIDInt(intId: Int): Void

push integer into the ID stack (will hash integer).

Name Type
intId Int

popID(): Void

pop from the ID stack.


getID(strId: String): UInt

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

Name Type
strId String
Returns
UInt

getIDStr(strIdBegin: String, strIdEnd: String): UInt
Name Type
strIdBegin String
strIdEnd String
Returns
UInt

getIDPtr(ptrId: cpp.RawPointer<cpp.Void>): UInt
Name Type
ptrId cpp.RawPointer<cpp.Void>
Returns
UInt

getIDInt(intId: Int): UInt
Name Type
intId Int
Returns
UInt

text(text: String, ?textEnd: String = null): Void

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.

Name Type Default
text String
textEnd String null

textUnformatted(text: String): Void

Implied text_end = NULL

Name Type
text String

textColored(col: ImVec4, text: String): Void

shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();

Name Type
col ImVec4
text String

textDisabled(text: String): Void

shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();

Name Type
text String

textWrapped(text: String): Void

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().

Name Type
text String

labelText(label: String, text: String): Void

display text+label aligned the same way as value+label widgets

Name Type
label String
text String

bulletText(text: String): Void

shortcut for Bullet()+Text()

Name Type
text String

separatorText(label: String): Void

currently: formatted text with a horizontal line

Name Type
label String

buttonEx(label: String, size: ImVec2): Bool

button

Name Type
label String
size ImVec2
Returns
Bool

button(label: String): Bool

Implied size = ImVec2(0, 0)

Name Type
label String
Returns
Bool

smallButton(label: String): Bool

button with (FramePadding.y == 0) to easily embed within text

Name Type
label String
Returns
Bool

invisibleButton(strId: String, size: ImVec2, ?flags: Int = 0): Bool

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

Name Type Default
strId String
size ImVec2
flags Int 0
Returns
Bool

arrowButton(strId: String, dir: Int): Bool

square button with an arrow shape

Name Type
strId String
dir Int
Returns
Bool

radioButton(label: String, active: Bool): Bool

use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }

Name Type
label String
active Bool
Returns
Bool

progressBar(fraction: Float, sizeArg: ImVec2, ?overlay: String = null): Void
Name Type Default
fraction Float
sizeArg ImVec2
overlay String null

bullet(): Void

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


hyperlink text button, return true when clicked

Name Type
label String
Returns
Bool

textLinkOpenURLEx(label: String, ?url: String = null): Bool

hyperlink text button, automatically open file/url when clicked

Name Type Default
label String
url String null
Returns
Bool

textLinkOpenURL(label: String): Bool

Implied url = NULL

Name Type
label String
Returns
Bool

imageEx(texRef: ImTextureRef, imageSize: ImVec2, uv0: ImVec2, uv1: ImVec2): Void
Name Type
texRef ImTextureRef
imageSize ImVec2
uv0 ImVec2
uv1 ImVec2

image(texRef: ImTextureRef, imageSize: ImVec2): Void

Implied uv0 = ImVec2(0, 0), uv1 = ImVec2(1, 1)

Name Type
texRef ImTextureRef
imageSize ImVec2

imageWithBgEx(texRef: ImTextureRef, imageSize: ImVec2, uv0: ImVec2, uv1: ImVec2, bgCol: ImVec4, tintCol: ImVec4): Void
Name Type
texRef ImTextureRef
imageSize ImVec2
uv0 ImVec2
uv1 ImVec2
bgCol ImVec4
tintCol ImVec4

imageWithBg(texRef: ImTextureRef, imageSize: ImVec2): Void

Implied uv0 = ImVec2(0, 0), uv1 = ImVec2(1, 1), bg_col = ImVec4(0, 0, 0, 0), tint_col = ImVec4(1, 1, 1, 1)

Name Type
texRef ImTextureRef
imageSize ImVec2

imageButtonEx(strId: String, texRef: ImTextureRef, imageSize: ImVec2, uv0: ImVec2, uv1: ImVec2, bgCol: ImVec4, tintCol: ImVec4): Bool
Name Type
strId String
texRef ImTextureRef
imageSize ImVec2
uv0 ImVec2
uv1 ImVec2
bgCol ImVec4
tintCol ImVec4
Returns
Bool

imageButton(strId: String, texRef: ImTextureRef, imageSize: ImVec2): Bool

Implied uv0 = ImVec2(0, 0), uv1 = ImVec2(1, 1), bg_col = ImVec4(0, 0, 0, 0), tint_col = ImVec4(1, 1, 1, 1)

Name Type
strId String
texRef ImTextureRef
imageSize ImVec2
Returns
Bool

beginCombo(label: String, previewValue: String, ?flags: Int = 0): Bool
Name Type Default
label String
previewValue String
flags Int 0
Returns
Bool

endCombo(): Void

only call EndCombo() if BeginCombo() returns true!


comboCharEx(label: cpp.ConstCharStar, currentItem: cpp.Star, items: cpp.RawPointer<cpp.ConstCharStar>, itemsCount: Int, ?popupMaxHeightInItems: Int = -1): Bool
Name Type Default
label cpp.ConstCharStar
currentItem cpp.Star
items cpp.RawPointer<cpp.ConstCharStar>
itemsCount Int
popupMaxHeightInItems Int -1
Returns
Bool

comboChar(label: cpp.ConstCharStar, currentItem: cpp.Star, items: cpp.RawPointer<cpp.ConstCharStar>, itemsCount: Int): Bool

Implied popup_max_height_in_items = -1

Name Type
label cpp.ConstCharStar
currentItem cpp.Star
items cpp.RawPointer<cpp.ConstCharStar>
itemsCount Int
Returns
Bool

comboCallbackEx(label: cpp.ConstCharStar, currentItem: cpp.Star, getter: ImGuiOpaqueCallback, userData: cpp.RawPointer<cpp.Void>, itemsCount: Int, ?popupMaxHeightInItems: Int = -1): Bool
Name Type Default
label cpp.ConstCharStar
currentItem cpp.Star
getter ImGuiOpaqueCallback
userData cpp.RawPointer<cpp.Void>
itemsCount Int
popupMaxHeightInItems Int -1
Returns
Bool

comboCallback(label: cpp.ConstCharStar, currentItem: cpp.Star, getter: ImGuiOpaqueCallback, userData: cpp.RawPointer<cpp.Void>, itemsCount: Int): Bool

Implied popup_max_height_in_items = -1

Name Type
label cpp.ConstCharStar
currentItem cpp.Star
getter ImGuiOpaqueCallback
userData cpp.RawPointer<cpp.Void>
itemsCount Int
Returns
Bool

dragFloat2Ex(label: String, v: Array<Float>, ?vSpeed: Float = 1.0, ?vMin: Float = 0.0, ?vMax: Float = 0.0, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vSpeed Float 1.0
vMin Float 0.0
vMax Float 0.0
format String "%.3f"
flags Int 0
Returns
Bool

dragFloat2(label: String, v: Array<Float>): Bool

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

dragFloat3Ex(label: String, v: Array<Float>, ?vSpeed: Float = 1.0, ?vMin: Float = 0.0, ?vMax: Float = 0.0, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vSpeed Float 1.0
vMin Float 0.0
vMax Float 0.0
format String "%.3f"
flags Int 0
Returns
Bool

dragFloat3(label: String, v: Array<Float>): Bool

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

dragFloat4Ex(label: String, v: Array<Float>, ?vSpeed: Float = 1.0, ?vMin: Float = 0.0, ?vMax: Float = 0.0, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vSpeed Float 1.0
vMin Float 0.0
vMax Float 0.0
format String "%.3f"
flags Int 0
Returns
Bool

dragFloat4(label: String, v: Array<Float>): Bool

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

dragInt2Ex(label: String, v: Array<Int>, ?vSpeed: Float = 1.0, ?vMin: Int = 0, ?vMax: Int = 0, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vSpeed Float 1.0
vMin Int 0
vMax Int 0
format String "%d"
flags Int 0
Returns
Bool

dragInt2(label: String, v: Array<Int>): Bool

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0

Name Type
label String
v Array<Int>
Returns
Bool

dragInt3Ex(label: String, v: Array<Int>, ?vSpeed: Float = 1.0, ?vMin: Int = 0, ?vMax: Int = 0, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vSpeed Float 1.0
vMin Int 0
vMax Int 0
format String "%d"
flags Int 0
Returns
Bool

dragInt3(label: String, v: Array<Int>): Bool

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0

Name Type
label String
v Array<Int>
Returns
Bool

dragInt4Ex(label: String, v: Array<Int>, ?vSpeed: Float = 1.0, ?vMin: Int = 0, ?vMax: Int = 0, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vSpeed Float 1.0
vMin Int 0
vMax Int 0
format String "%d"
flags Int 0
Returns
Bool

dragInt4(label: String, v: Array<Int>): Bool

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0

Name Type
label String
v Array<Int>
Returns
Bool

dragScalarEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, ?vSpeed: cpp.Float32 = 1.0, ?pMin: cpp.RawPointer<cpp.Void> = null, ?pMax: cpp.RawPointer<cpp.Void> = null, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
vSpeed cpp.Float32 1.0
pMin cpp.RawPointer<cpp.Void> null
pMax cpp.RawPointer<cpp.Void> null
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

dragScalar(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>): Bool

Implied v_speed = 1.0f, p_min = NULL, p_max = NULL, format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
Returns
Bool

dragScalarNEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int, ?vSpeed: cpp.Float32 = 1.0, ?pMin: cpp.RawPointer<cpp.Void> = null, ?pMax: cpp.RawPointer<cpp.Void> = null, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
vSpeed cpp.Float32 1.0
pMin cpp.RawPointer<cpp.Void> null
pMax cpp.RawPointer<cpp.Void> null
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

dragScalarN(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int): Bool

Implied v_speed = 1.0f, p_min = NULL, p_max = NULL, format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
Returns
Bool

sliderFloat2Ex(label: String, v: Array<Float>, vMin: Float, vMax: Float, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vMin Float
vMax Float
format String "%.3f"
flags Int 0
Returns
Bool

sliderFloat2(label: String, v: Array<Float>, vMin: Float, vMax: Float): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
vMin Float
vMax Float
Returns
Bool

sliderFloat3Ex(label: String, v: Array<Float>, vMin: Float, vMax: Float, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vMin Float
vMax Float
format String "%.3f"
flags Int 0
Returns
Bool

sliderFloat3(label: String, v: Array<Float>, vMin: Float, vMax: Float): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
vMin Float
vMax Float
Returns
Bool

sliderFloat4Ex(label: String, v: Array<Float>, vMin: Float, vMax: Float, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
vMin Float
vMax Float
format String "%.3f"
flags Int 0
Returns
Bool

sliderFloat4(label: String, v: Array<Float>, vMin: Float, vMax: Float): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
vMin Float
vMax Float
Returns
Bool

sliderInt2Ex(label: String, v: Array<Int>, vMin: Int, vMax: Int, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vMin Int
vMax Int
format String "%d"
flags Int 0
Returns
Bool

sliderInt2(label: String, v: Array<Int>, vMin: Int, vMax: Int): Bool

Implied format = "%d", flags = 0

Name Type
label String
v Array<Int>
vMin Int
vMax Int
Returns
Bool

sliderInt3Ex(label: String, v: Array<Int>, vMin: Int, vMax: Int, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vMin Int
vMax Int
format String "%d"
flags Int 0
Returns
Bool

sliderInt3(label: String, v: Array<Int>, vMin: Int, vMax: Int): Bool

Implied format = "%d", flags = 0

Name Type
label String
v Array<Int>
vMin Int
vMax Int
Returns
Bool

sliderInt4Ex(label: String, v: Array<Int>, vMin: Int, vMax: Int, ?format: String = "%d", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
vMin Int
vMax Int
format String "%d"
flags Int 0
Returns
Bool

sliderInt4(label: String, v: Array<Int>, vMin: Int, vMax: Int): Bool

Implied format = "%d", flags = 0

Name Type
label String
v Array<Int>
vMin Int
vMax Int
Returns
Bool

sliderScalarEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

sliderScalar(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>): Bool

Implied format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
Returns
Bool

sliderScalarNEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

sliderScalarN(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>): Bool

Implied format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
Returns
Bool

vSliderScalarEx(label: cpp.ConstCharStar, size: ImVec2, dataType: Int, pData: cpp.RawPointer<cpp.Void>, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
size ImVec2
dataType Int
pData cpp.RawPointer<cpp.Void>
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

vSliderScalar(label: cpp.ConstCharStar, size: ImVec2, dataType: Int, pData: cpp.RawPointer<cpp.Void>, pMin: cpp.RawPointer<cpp.Void>, pMax: cpp.RawPointer<cpp.Void>): Bool

Implied format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
size ImVec2
dataType Int
pData cpp.RawPointer<cpp.Void>
pMin cpp.RawPointer<cpp.Void>
pMax cpp.RawPointer<cpp.Void>
Returns
Bool

inputFloat2Ex(label: String, v: Array<Float>, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
format String "%.3f"
flags Int 0
Returns
Bool

inputFloat2(label: String, v: Array<Float>): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

inputFloat3Ex(label: String, v: Array<Float>, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
format String "%.3f"
flags Int 0
Returns
Bool

inputFloat3(label: String, v: Array<Float>): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

inputFloat4Ex(label: String, v: Array<Float>, ?format: String = "%.3f", ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Float>
format String "%.3f"
flags Int 0
Returns
Bool

inputFloat4(label: String, v: Array<Float>): Bool

Implied format = "%.3f", flags = 0

Name Type
label String
v Array<Float>
Returns
Bool

inputInt2(label: String, v: Array<Int>, ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
flags Int 0
Returns
Bool

inputInt3(label: String, v: Array<Int>, ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
flags Int 0
Returns
Bool

inputInt4(label: String, v: Array<Int>, ?flags: Int = 0): Bool
Name Type Default
label String
v Array<Int>
flags Int 0
Returns
Bool

inputScalarEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, ?pStep: cpp.RawPointer<cpp.Void> = null, ?pStepFast: cpp.RawPointer<cpp.Void> = null, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
pStep cpp.RawPointer<cpp.Void> null
pStepFast cpp.RawPointer<cpp.Void> null
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

inputScalar(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>): Bool

Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
Returns
Bool

inputScalarNEx(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int, ?pStep: cpp.RawPointer<cpp.Void> = null, ?pStepFast: cpp.RawPointer<cpp.Void> = null, ?format: cpp.ConstCharStar = null, ?flags: Int = 0): Bool
Name Type Default
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
pStep cpp.RawPointer<cpp.Void> null
pStepFast cpp.RawPointer<cpp.Void> null
format cpp.ConstCharStar null
flags Int 0
Returns
Bool

inputScalarN(label: cpp.ConstCharStar, dataType: Int, pData: cpp.RawPointer<cpp.Void>, components: Int): Bool

Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0

Name Type
label cpp.ConstCharStar
dataType Int
pData cpp.RawPointer<cpp.Void>
components Int
Returns
Bool

colorEdit3(label: String, col: Array<Float>, ?flags: Int = 0): Bool
Name Type Default
label String
col Array<Float>
flags Int 0
Returns
Bool

colorEdit4(label: String, col: Array<Float>, ?flags: Int = 0): Bool
Name Type Default
label String
col Array<Float>
flags Int 0
Returns
Bool

colorPicker3(label: String, col: Array<Float>, ?flags: Int = 0): Bool
Name Type Default
label String
col Array<Float>
flags Int 0
Returns
Bool

colorPicker4(label: String, col: Array<Float>, ?flags: Int = 0, ?refCol: cpp.Star = null): Bool
Name Type Default
label String
col Array<Float>
flags Int 0
refCol cpp.Star null
Returns
Bool

colorButtonEx(descId: String, col: ImVec4, ?flags: Int = 0, size: ImVec2): Bool

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

Name Type Default
descId String
col ImVec4
flags Int 0
size ImVec2
Returns
Bool

colorButton(descId: String, col: ImVec4, ?flags: Int = 0): Bool

Implied size = ImVec2(0, 0)

Name Type Default
descId String
col ImVec4
flags Int 0
Returns
Bool

setColorEditOptions(flags: Int): Void

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.

Name Type
flags Int

treeNode(label: String): Bool
Name Type
label String
Returns
Bool

treeNodeStr(strId: String, text: String): Bool

helper variation to easily decorrelate 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().

Name Type
strId String
text String
Returns
Bool

treeNodePtr(ptrId: cpp.RawPointer<cpp.Void>, text: cpp.ConstCharStar): Bool

"

Name Type
ptrId cpp.RawPointer<cpp.Void>
text cpp.ConstCharStar
Returns
Bool

treeNodeEx(label: String, ?flags: Int = 0): Bool
Name Type Default
label String
flags Int 0
Returns
Bool

treeNodeExStr(strId: String, flags: Int, text: String): Bool
Name Type
strId String
flags Int
text String
Returns
Bool

treeNodeExPtr(ptrId: cpp.RawPointer<cpp.Void>, flags: Int, text: cpp.ConstCharStar): Bool
Name Type
ptrId cpp.RawPointer<cpp.Void>
flags Int
text cpp.ConstCharStar
Returns
Bool

treePush(strId: String): Void

~ Indent()+PushID(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.

Name Type
strId String

treePushPtr(ptrId: cpp.RawPointer<cpp.Void>): Void

"

Name Type
ptrId cpp.RawPointer<cpp.Void>

treePop(): Void

~ Unindent()+PopID()


getTreeNodeToLabelSpacing(): Float

horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode

Returns
Float

collapsingHeader(label: String, ?flags: Int = 0): Bool

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

Name Type Default
label String
flags Int 0
Returns
Bool

setNextItemOpen(isOpen: Bool, ?cond: Int = 0): Void

set next TreeNode/CollapsingHeader open state.

Name Type Default
isOpen Bool
cond Int 0

setNextItemStorageID(storageId: ImGuiID): Void

set id to use for open/close storage (default to same as item id).

Name Type
storageId ImGuiID

treeNodeGetOpen(storageId: ImGuiID): Bool

retrieve tree node open/close state.

Name Type
storageId ImGuiID
Returns
Bool

selectableEx(label: String, ?selected: Bool = false, ?flags: Int = 0, size: ImVec2): 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

Name Type Default
label String
selected Bool false
flags Int 0
size ImVec2
Returns
Bool

selectable(label: String): Bool

Implied selected = false, flags = 0, size = ImVec2(0, 0)

Name Type
label String
Returns
Bool

beginMultiSelectEx(flags: Int, ?selectionSize: Int = -1, ?itemsCount: Int = -1): cpp.Star
Name Type Default
flags Int
selectionSize Int -1
itemsCount Int -1
Returns
cpp.Star

beginMultiSelect(flags: Int): cpp.Star

Implied selection_size = -1, items_count = -1

Name Type
flags Int
Returns
cpp.Star

endMultiSelect(): cpp.Star
Returns
cpp.Star

setNextItemSelectionUserData(selectionUserData: ImGuiSelectionUserData): Void
Name Type
selectionUserData ImGuiSelectionUserData

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.

Returns
Bool

beginListBox(label: String, size: ImVec2): Bool

open a framed scrolling region

Name Type
label String
size ImVec2
Returns
Bool

endListBox(): Void

only call EndListBox() if BeginListBox() returned true!


listBox(label: cpp.ConstCharStar, currentItem: cpp.Star, items: cpp.RawPointer<cpp.ConstCharStar>, itemsCount: Int, ?heightInItems: Int = -1): Bool
Name Type Default
label cpp.ConstCharStar
currentItem cpp.Star
items cpp.RawPointer<cpp.ConstCharStar>
itemsCount Int
heightInItems Int -1
Returns
Bool

listBoxCallbackEx(label: cpp.ConstCharStar, currentItem: cpp.Star, getter: ImGuiOpaqueCallback, userData: cpp.RawPointer<cpp.Void>, itemsCount: Int, ?heightInItems: Int = -1): Bool
Name Type Default
label cpp.ConstCharStar
currentItem cpp.Star
getter ImGuiOpaqueCallback
userData cpp.RawPointer<cpp.Void>
itemsCount Int
heightInItems Int -1
Returns
Bool

listBoxCallback(label: cpp.ConstCharStar, currentItem: cpp.Star, getter: ImGuiOpaqueCallback, userData: cpp.RawPointer<cpp.Void>, itemsCount: Int): Bool

Implied height_in_items = -1

Name Type
label cpp.ConstCharStar
currentItem cpp.Star
getter ImGuiOpaqueCallback
userData cpp.RawPointer<cpp.Void>
itemsCount Int
Returns
Bool

plotLinesEx(label: String, values: Array<Float>, ?valuesOffset: Int = 0, ?overlayText: String = null, ?scaleMin: Float = 3.402823466e+38, ?scaleMax: Float = 3.402823466e+38, graphSize: ImVec2, ?stride: Int = 4): Void
Name Type Default
label String
values Array<Float>
valuesOffset Int 0
overlayText String null
scaleMin Float 3.402823466e+38
scaleMax Float 3.402823466e+38
graphSize ImVec2
stride Int 4

plotLines(label: String, values: Array<Float>): Void

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)

Name Type
label String
values Array<Float>

plotLinesCallbackEx(label: cpp.ConstCharStar, valuesGetter: ImGuiOpaqueCallback, data: cpp.RawPointer<cpp.Void>, valuesCount: Int, ?valuesOffset: Int = 0, ?overlayText: cpp.ConstCharStar = null, ?scaleMin: cpp.Float32 = 3.402823466e+38, ?scaleMax: cpp.Float32 = 3.402823466e+38, graphSize: ImVec2): Void
Name Type Default
label cpp.ConstCharStar
valuesGetter ImGuiOpaqueCallback
data cpp.RawPointer<cpp.Void>
valuesCount Int
valuesOffset Int 0
overlayText cpp.ConstCharStar null
scaleMin cpp.Float32 3.402823466e+38
scaleMax cpp.Float32 3.402823466e+38
graphSize ImVec2

plotLinesCallback(label: cpp.ConstCharStar, valuesGetter: ImGuiOpaqueCallback, data: cpp.RawPointer<cpp.Void>, valuesCount: Int): Void

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0)

Name Type
label cpp.ConstCharStar
valuesGetter ImGuiOpaqueCallback
data cpp.RawPointer<cpp.Void>
valuesCount Int

plotHistogramEx(label: String, values: Array<Float>, ?valuesOffset: Int = 0, ?overlayText: String = null, ?scaleMin: Float = 3.402823466e+38, ?scaleMax: Float = 3.402823466e+38, graphSize: ImVec2, ?stride: Int = 4): Void
Name Type Default
label String
values Array<Float>
valuesOffset Int 0
overlayText String null
scaleMin Float 3.402823466e+38
scaleMax Float 3.402823466e+38
graphSize ImVec2
stride Int 4

plotHistogram(label: String, values: Array<Float>): Void

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)

Name Type
label String
values Array<Float>

plotHistogramCallbackEx(label: cpp.ConstCharStar, valuesGetter: ImGuiOpaqueCallback, data: cpp.RawPointer<cpp.Void>, valuesCount: Int, ?valuesOffset: Int = 0, ?overlayText: cpp.ConstCharStar = null, ?scaleMin: cpp.Float32 = 3.402823466e+38, ?scaleMax: cpp.Float32 = 3.402823466e+38, graphSize: ImVec2): Void
Name Type Default
label cpp.ConstCharStar
valuesGetter ImGuiOpaqueCallback
data cpp.RawPointer<cpp.Void>
valuesCount Int
valuesOffset Int 0
overlayText cpp.ConstCharStar null
scaleMin cpp.Float32 3.402823466e+38
scaleMax cpp.Float32 3.402823466e+38
graphSize ImVec2

plotHistogramCallback(label: cpp.ConstCharStar, valuesGetter: ImGuiOpaqueCallback, data: cpp.RawPointer<cpp.Void>, valuesCount: Int): Void

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0)

Name Type
label cpp.ConstCharStar
valuesGetter ImGuiOpaqueCallback
data cpp.RawPointer<cpp.Void>
valuesCount Int

beginMenuBar(): Bool

append to menu-bar of current window (requires ImGuiWindowFlags_MenuBar flag set on parent window).

Returns
Bool

endMenuBar(): Void

only call EndMenuBar() if BeginMenuBar() returns true!


beginMainMenuBar(): Bool

create and append to a full screen menu-bar.

Returns
Bool

endMainMenuBar(): Void

only call EndMainMenuBar() if BeginMainMenuBar() returns true!


beginMenuEx(label: String, ?enabled: Bool = true): Bool

create a sub-menu entry. only call EndMenu() if this returns true!

Name Type Default
label String
enabled Bool true
Returns
Bool

beginMenu(label: String): Bool

Implied enabled = true

Name Type
label String
Returns
Bool

endMenu(): Void

only call EndMenu() if BeginMenu() returns true!


return true when activated.

Name Type Default
label String
shortcut String null
selected Bool false
enabled Bool true
Returns
Bool

Implied shortcut = NULL, selected = false, enabled = true

Name Type
label String
Returns
Bool

beginTooltip(): Bool

begin/append a tooltip window.

Returns
Bool

endTooltip(): Void

only call EndTooltip() if BeginTooltip()/BeginItemTooltip() returns true!


setTooltip(text: String): Void

set a text-only tooltip. Often used after a ImGui::IsItemHovered() check. Override any previous call to SetTooltip().

Name Type
text String

beginItemTooltip(): Bool

begin/append a tooltip window if preceding item was hovered.

Returns
Bool

setItemTooltip(text: String): Void

set a text-only tooltip if preceding item was hovered. override any previous call to SetTooltip().

Name Type
text String

beginPopup(strId: String, ?flags: Int = 0): Bool

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

Name Type Default
strId String
flags Int 0
Returns
Bool

endPopup(): Void

only call EndPopup() if BeginPopupXXX() returns true!


openPopup(strId: String, ?popupFlags: Int = 0): Void

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

Name Type Default
strId String
popupFlags Int 0

openPopupID(id: ImGuiID, ?popupFlags: Int = 0): Void

id overload to facilitate calling from nested stacks

Name Type Default
id ImGuiID
popupFlags Int 0

openPopupOnItemClick(?strId: String = null, ?popupFlags: Int = 0): Void

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

Name Type Default
strId String null
popupFlags Int 0

closeCurrentPopup(): Void

manually close the popup we have begin-ed into.


beginPopupContextItemEx(?strId: String = null, ?popupFlags: Int = 0): 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!

Name Type Default
strId String null
popupFlags Int 0
Returns
Bool

beginPopupContextItem(): Bool

Implied str_id = NULL, popup_flags = 0

Returns
Bool

beginPopupContextWindowEx(?strId: String = null, ?popupFlags: Int = 0): Bool

open+begin popup when clicked on current window.

Name Type Default
strId String null
popupFlags Int 0
Returns
Bool

beginPopupContextWindow(): Bool

Implied str_id = NULL, popup_flags = 0

Returns
Bool

beginPopupContextVoidEx(?strId: String = null, ?popupFlags: Int = 0): Bool

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

Name Type Default
strId String null
popupFlags Int 0
Returns
Bool

beginPopupContextVoid(): Bool

Implied str_id = NULL, popup_flags = 0

Returns
Bool

isPopupOpen(strId: String, ?flags: Int = 0): Bool

return true if the popup is open.

Name Type Default
strId String
flags Int 0
Returns
Bool

beginTableEx(strId: String, columns: Int, ?flags: Int = 0, outerSize: ImVec2, ?innerWidth: Float = 0.0): Bool
Name Type Default
strId String
columns Int
flags Int 0
outerSize ImVec2
innerWidth Float 0.0
Returns
Bool

beginTable(strId: String, columns: Int, ?flags: Int = 0): Bool

Implied outer_size = ImVec2(0.0f, 0.0f), inner_width = 0.0f

Name Type Default
strId String
columns Int
flags Int 0
Returns
Bool

endTable(): Void

only call EndTable() if BeginTable() returns true!


tableNextRowEx(?rowFlags: Int = 0, ?minRowHeight: Float = 0.0): Void

append into the first cell of a new row. 'min_row_height' include the minimum top and bottom padding aka CellPadding.y * 2.0f.

Name Type Default
rowFlags Int 0
minRowHeight Float 0.0

tableNextRow(): Void

Implied row_flags = 0, min_row_height = 0.0f


tableNextColumn(): Bool

append into the next column (or first column of next row if currently in last column). Return true when column is visible.

Returns
Bool

tableSetColumnIndex(columnN: Int): Bool

append into the specified column. Return true when column is visible.

Name Type
columnN Int
Returns
Bool

tableSetupColumnEx(label: String, ?flags: Int = 0, ?initWidthOrWeight: Float = 0.0, ?userId: ImGuiID = 0): Void
Name Type Default
label String
flags Int 0
initWidthOrWeight Float 0.0
userId ImGuiID 0

tableSetupColumn(label: String, ?flags: Int = 0): Void

Implied init_width_or_weight = 0.0f, user_id = 0

Name Type Default
label String
flags Int 0

tableSetupScrollFreeze(cols: Int, rows: Int): Void

lock columns/rows so they stay visible when scrolled.

Name Type
cols Int
rows Int

tableHeader(label: String): Void

submit one header cell manually (rarely used)

Name Type
label String

tableHeadersRow(): Void

submit a row with headers cells based on data provided to TableSetupColumn() + submit context menu


tableAngledHeadersRow(): Void

submit a row with angled headers for every column with the ImGuiTableColumnFlags_AngledHeader flag. MUST BE FIRST ROW.


tableGetSortSpecs(): cpp.Star

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().

Returns
cpp.Star

tableGetColumnCount(): Int

return number of columns (value passed to BeginTable)

Returns
Int

tableGetColumnIndex(): Int

return current column index.

Returns
Int

tableGetRowIndex(): Int

return current row index (header rows are accounted for)

Returns
Int

tableGetColumnName(?columnN: Int = -1): String

return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.

Name Type Default
columnN Int -1
Returns
String

tableGetColumnFlags(?columnN: Int = -1): Int

return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.

Name Type Default
columnN Int -1
Returns
Int

tableSetColumnEnabled(columnN: Int, v: Bool): Void

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)

Name Type
columnN Int
v Bool

tableGetHoveredColumn(): Int

return hovered column. return -1 when table is not hovered. return columns_count if the unused space at the right of visible columns is hovered. Can also use (TableGetColumnFlags() & ImGuiTableColumnFlags_IsHovered) instead.

Returns
Int

tableSetBgColor(target: Int, color: ImU32, ?columnN: Int = -1): Void

change the color of a cell, row, or column. See ImGuiTableBgTarget_ flags for details.

Name Type Default
target Int
color ImU32
columnN Int -1

columnsEx(?count: Int = 1, ?id: String = null, ?borders: Bool = true): Void
Name Type Default
count Int 1
id String null
borders Bool true

columns(): Void

Implied count = 1, id = NULL, borders = true


nextColumn(): Void

next column, defaults to current row or next row if the current row is finished


getColumnIndex(): Int

get current column index

Returns
Int

getColumnWidth(?columnIndex: Int = -1): Float

get column width (in pixels). pass -1 to use current column

Name Type Default
columnIndex Int -1
Returns
Float

setColumnWidth(columnIndex: Int, width: Float): Void

set column width (in pixels). pass -1 to use current column

Name Type
columnIndex Int
width Float

getColumnOffset(?columnIndex: Int = -1): Float

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

Name Type Default
columnIndex Int -1
Returns
Float

setColumnOffset(columnIndex: Int, offsetX: Float): Void

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

Name Type
columnIndex Int
offsetX Float

getColumnsCount(): Int
Returns
Int

beginTabBar(strId: String, ?flags: Int = 0): Bool

create and append into a TabBar

Name Type Default
strId String
flags Int 0
Returns
Bool

endTabBar(): Void

only call EndTabBar() if BeginTabBar() returns true!


endTabItem(): Void

only call EndTabItem() if BeginTabItem() returns true!


tabItemButton(label: String, ?flags: Int = 0): Bool

create a Tab behaving like a button. return true when clicked. cannot be selected in the tab bar.

Name Type Default
label String
flags Int 0
Returns
Bool

setTabItemClosed(tabOrDockedWindowLabel: String): Void

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.

Name Type
tabOrDockedWindowLabel String

dockSpaceEx(dockspaceId: ImGuiID, size: ImVec2, ?flags: Int = 0, ?windowClass: cpp.Star = null): UInt
Name Type Default
dockspaceId ImGuiID
size ImVec2
flags Int 0
windowClass cpp.Star null
Returns
UInt

dockSpace(dockspaceId: ImGuiID): UInt

Implied size = ImVec2(0, 0), flags = 0, window_class = NULL

Name Type
dockspaceId ImGuiID
Returns
UInt

dockSpaceOverViewportEx(?dockspaceId: ImGuiID = 0, ?viewport: cpp.Star = null, ?flags: Int = 0, ?windowClass: cpp.Star = null): UInt
Name Type Default
dockspaceId ImGuiID 0
viewport cpp.Star null
flags Int 0
windowClass cpp.Star null
Returns
UInt

dockSpaceOverViewport(): UInt

Implied dockspace_id = 0, viewport = NULL, flags = 0, window_class = NULL

Returns
UInt

setNextWindowDockID(dockId: ImGuiID, ?cond: Int = 0): Void

set next window dock id

Name Type Default
dockId ImGuiID
cond Int 0

setNextWindowClass(windowClass: cpp.Star): Void

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

Name Type
windowClass cpp.Star

getWindowDockID(): UInt

get dock id of current window, or 0 if not associated to any docking node.

Returns
UInt

isWindowDocked(): Bool

is current window docked into another window?

Returns
Bool

logToTTY(?autoOpenDepth: Int = -1): Void

start logging to tty (stdout)

Name Type Default
autoOpenDepth Int -1

logToFile(?autoOpenDepth: Int = -1, ?filename: String = null): Void

start logging to file

Name Type Default
autoOpenDepth Int -1
filename String null

logToClipboard(?autoOpenDepth: Int = -1): Void

start logging to OS clipboard

Name Type Default
autoOpenDepth Int -1

logFinish(): Void

stop logging (close file, etc.)


logButtons(): Void

helper to display buttons for logging to tty/file/clipboard


logText(text: String): Void

pass text data straight to log (without being displayed)

Name Type
text String

beginDragDropSource(?flags: Int = 0): Bool

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

Name Type Default
flags Int 0
Returns
Bool

setDragDropPayload(type: cpp.ConstCharStar, data: cpp.RawPointer<cpp.Void>, sz: cpp.SizeT, ?cond: Int = 0): 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.

Name Type Default
type cpp.ConstCharStar
data cpp.RawPointer<cpp.Void>
sz cpp.SizeT
cond Int 0
Returns
Bool

endDragDropSource(): Void

only call EndDragDropSource() if BeginDragDropSource() returns true!


beginDragDropTarget(): Bool

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

Returns
Bool

acceptDragDropPayload(type: String, ?flags: Int = 0): cpp.Star

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

Name Type Default
type String
flags Int 0
Returns
cpp.Star

endDragDropTarget(): Void

only call EndDragDropTarget() if BeginDragDropTarget() returns true!


getDragDropPayload(): cpp.Star

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.

Returns
cpp.Star

beginDisabled(?disabled: Bool = true): Void
Name Type Default
disabled Bool true

endDisabled(): Void

pushClipRect(clipRectMin: ImVec2, clipRectMax: ImVec2, intersectWithCurrentClipRect: Bool): Void
Name Type
clipRectMin ImVec2
clipRectMax ImVec2
intersectWithCurrentClipRect Bool

popClipRect(): Void

setItemDefaultFocus(): Void

make last item the default focused item of a newly appearing window.


setKeyboardFocusHereEx(?offset: Int = 0): Void

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

Name Type Default
offset Int 0

setKeyboardFocusHere(): Void

Implied offset = 0


setNavCursorVisible(visible: Bool): Void

alter visibility of keyboard/gamepad cursor. by default: show when using an arrow key, hide when clicking with mouse.

Name Type
visible Bool

setNextItemAllowOverlap(): Void

allow next item to be overlapped by a subsequent item. Typically useful with InvisibleButton(), Selectable(), TreeNode() covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this.


isItemHovered(?flags: Int = 0): Bool

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

Name Type Default
flags Int 0
Returns
Bool

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)

Returns
Bool

isItemFocused(): Bool

is the last item focused for keyboard/gamepad navigation?

Returns
Bool

isItemClickedEx(?mouseButton: Int = 0): 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.

Name Type Default
mouseButton Int 0
Returns
Bool

isItemClicked(): Bool

Implied mouse_button = 0

Returns
Bool

isItemVisible(): Bool

is the last item visible? (items may be out of sight because of clipping/scrolling)

Returns
Bool

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.

Returns
Bool

isItemActivated(): Bool

was the last item just made active (item was previously inactive).

Returns
Bool

isItemDeactivated(): Bool

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

Returns
Bool

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).

Returns
Bool

isItemToggledOpen(): Bool

was the last item open state toggled? set by TreeNode().

Returns
Bool

isAnyItemHovered(): Bool

is any item hovered?

Returns
Bool

isAnyItemActive(): Bool

is any item active?

Returns
Bool

isAnyItemFocused(): Bool

is any item focused?

Returns
Bool

getItemID(): UInt

get ID of last item (~~ often same ImGui::GetID(label) beforehand)

Returns
UInt

getItemRectMin(): ImVec2

get upper-left bounding rectangle of the last item (screen space)

Returns
ImVec2

getItemRectMax(): ImVec2

get lower-right bounding rectangle of the last item (screen space)

Returns
ImVec2

getItemRectSize(): ImVec2

get size of last item

Returns
ImVec2

getItemFlags(): Int

get generic flags of last item

Returns
Int

getMainViewport(): cpp.Star

return primary/default viewport. This can never be NULL.

Returns
cpp.Star

getBackgroundDrawListEx(?viewport: cpp.Star = null): cpp.Star

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.

Name Type Default
viewport cpp.Star null
Returns
cpp.Star

getBackgroundDrawList(): cpp.Star

Implied viewport = NULL

Returns
cpp.Star

getForegroundDrawListEx(?viewport: cpp.Star = null): cpp.Star

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.

Name Type Default
viewport cpp.Star null
Returns
cpp.Star

getForegroundDrawList(): cpp.Star

Implied viewport = NULL

Returns
cpp.Star

isRectVisibleBySize(size: ImVec2): Bool

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

Name Type
size ImVec2
Returns
Bool

isRectVisible(rectMin: ImVec2, rectMax: ImVec2): Bool

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

Name Type
rectMin ImVec2
rectMax ImVec2
Returns
Bool

getTime(): Float

get global imgui time. incremented by io.DeltaTime every frame.

Returns
Float

getFrameCount(): Int

get global imgui frame count. incremented by 1 every frame.

Returns
Int

getDrawListSharedData(): cpp.Star

you may use this when creating your own ImDrawList instances.

Returns
cpp.Star

getStyleColorName(idx: Int): String

get a string corresponding to the enum value (for display, saving, etc.).

Name Type
idx Int
Returns
String

setStateStorage(storage: cpp.Star): Void

replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it)

Name Type
storage cpp.Star

getStateStorage(): cpp.Star
Returns
cpp.Star

calcTextSizeEx(text: String, ?textEnd: String = null, ?hideTextAfterDoubleHash: Bool = false, ?wrapWidth: Float = -1.0): ImVec2
Name Type Default
text String
textEnd String null
hideTextAfterDoubleHash Bool false
wrapWidth Float -1.0
Returns
ImVec2

calcTextSize(text: String): ImVec2

Implied text_end = NULL, hide_text_after_double_hash = false, wrap_width = -1.0f

Name Type
text String
Returns
ImVec2

colorConvertU32ToFloat4(in_: ImU32): ImVec4
Name Type
in_ ImU32
Returns
ImVec4

colorConvertFloat4ToU32(in_: ImVec4): UInt
Name Type
in_ ImVec4
Returns
UInt

isKeyDown(key: Int): Bool

is key being held.

Name Type
key Int
Returns
Bool

isKeyPressedEx(key: Int, ?repeat: Bool = true): Bool

was key pressed (went from !Down to Down)? Repeat rate uses io.KeyRepeatDelay / KeyRepeatRate.

Name Type Default
key Int
repeat Bool true
Returns
Bool

isKeyPressed(key: Int): Bool

Implied repeat = true

Name Type
key Int
Returns
Bool

isKeyReleased(key: Int): Bool

was key released (went from Down to !Down)?

Name Type
key Int
Returns
Bool

isKeyChordPressed(keyChord: ImGuiKeyChord): Bool

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

Name Type
keyChord ImGuiKeyChord
Returns
Bool

getKeyPressedAmount(key: Int, repeatDelay: Float, rate: Float): Int

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

Name Type
key Int
repeatDelay Float
rate Float
Returns
Int

getKeyName(key: Int): String

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

Name Type
key Int
Returns
String

setNextFrameWantCaptureKeyboard(wantCaptureKeyboard: Bool): Void

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 = want_capture_keyboard"; after the next NewFrame() call.

Name Type
wantCaptureKeyboard Bool

shortcut(keyChord: ImGuiKeyChord, ?flags: Int = 0): Bool
Name Type Default
keyChord ImGuiKeyChord
flags Int 0
Returns
Bool

setNextItemShortcut(keyChord: ImGuiKeyChord, ?flags: Int = 0): Void
Name Type Default
keyChord ImGuiKeyChord
flags Int 0

setItemKeyOwner(key: Int): Bool

Set key owner to last item ID if it is hovered or active. Return true when ownership has been set. Roughly equivalent to 'if (TestKeyOwner(key, GetItemID()) && (IsItemHovered() || IsItemActive())) { SetKeyOwner(key, GetItemID());'.

Name Type
key Int
Returns
Bool

isMouseDown(button: Int): Bool

is mouse button held?

Name Type
button Int
Returns
Bool

isMouseClickedEx(button: Int, ?repeat: Bool = false): Bool

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

Name Type Default
button Int
repeat Bool false
Returns
Bool

isMouseClicked(button: Int): Bool

Implied repeat = false

Name Type
button Int
Returns
Bool

isMouseReleased(button: Int): Bool

did mouse button released? (went from Down to !Down)

Name Type
button Int
Returns
Bool

isMouseDoubleClicked(button: Int): Bool

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

Name Type
button Int
Returns
Bool

isMouseReleasedWithDelay(button: Int, delay: Float): Bool

delayed mouse release (use very sparingly!). Generally used with 'delay >= io.MouseDoubleClickTime' + combined with a 'io.MouseClickedLastCount==1' test. This is a very rarely used UI idiom, but some apps use this: e.g. MS Explorer single click on an icon to rename.

Name Type
button Int
delay Float
Returns
Bool

getMouseClickedCount(button: Int): Int

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

Name Type
button Int
Returns
Int

isMouseHoveringRectEx(rMin: ImVec2, rMax: ImVec2, ?clip: Bool = true): 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.

Name Type Default
rMin ImVec2
rMax ImVec2
clip Bool true
Returns
Bool

isMouseHoveringRect(rMin: ImVec2, rMax: ImVec2): Bool

Implied clip = true

Name Type
rMin ImVec2
rMax ImVec2
Returns
Bool

isMousePosValid(?mousePos: cpp.Star = null): Bool

by convention we use (-FLT_MAX,-FLT_MAX) to denote that there is no mouse available

Name Type Default
mousePos cpp.Star null
Returns
Bool

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.

Returns
Bool

getMousePos(): ImVec2

shortcut to ImGui::GetIO().MousePos provided by user, to be consistent with other calls

Returns
ImVec2

getMousePosOnOpeningCurrentPopup(): ImVec2

retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves)

Returns
ImVec2

isMouseDragging(button: Int, ?lockThreshold: Float = -1.0): Bool

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

Name Type Default
button Int
lockThreshold Float -1.0
Returns
Bool

getMouseDragDelta(?button: Int = 0, ?lockThreshold: Float = -1.0): 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)

Name Type Default
button Int 0
lockThreshold Float -1.0
Returns
ImVec2

resetMouseDragDeltaEx(?button: Int = 0): Void
Name Type Default
button Int 0

resetMouseDragDelta(): Void

Implied button = 0


getMouseCursor(): Int

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

Returns
Int

setMouseCursor(cursorType: Int): Void

set desired mouse cursor shape

Name Type
cursorType Int

setNextFrameWantCaptureMouse(wantCaptureMouse: Bool): Void

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

Name Type
wantCaptureMouse Bool

getClipboardText(): String
Returns
String

setClipboardText(text: String): Void
Name Type
text String

loadIniSettingsFromDisk(iniFilename: String): Void

call after CreateContext() and before the first call to NewFrame(). NewFrame() automatically calls LoadIniSettingsFromDisk(io.IniFilename).

Name Type
iniFilename String

loadIniSettingsFromMemory(iniData: String, ?iniSize: Int = 0): Void

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

Name Type Default
iniData String
iniSize Int 0

saveIniSettingsToDisk(iniFilename: String): Void

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).

Name Type
iniFilename String

saveIniSettingsToMemory(?outIniSize: cpp.Star = null): String

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.

Name Type Default
outIniSize cpp.Star null
Returns
String

debugTextEncoding(text: String): Void
Name Type
text String

debugFlashStyleColor(idx: Int): Void
Name Type
idx Int

debugStartItemPicker(): Void

debugCheckVersionAndDataLayout(versionStr: String, szIo: Int, szStyle: Int, szVec2: Int, szVec4: Int, szDrawvert: Int, szDrawidx: Int): Bool

This is called by IMGUI_CHECKVERSION() macro.

Name Type
versionStr String
szIo Int
szStyle Int
szVec2 Int
szVec4 Int
szDrawvert Int
szDrawidx Int
Returns
Bool

debugLog(text: String): Void

Call via IMGUI_DEBUG_LOG() for maximum stripping in caller code!

Name Type
text String

setAllocatorFunctions(allocFunc: ImGuiOpaqueCallback, freeFunc: ImGuiOpaqueCallback, ?userData: cpp.RawPointer<cpp.Void> = null): Void
Name Type Default
allocFunc ImGuiOpaqueCallback
freeFunc ImGuiOpaqueCallback
userData cpp.RawPointer<cpp.Void> null

getAllocatorFunctions(pAllocFunc: cpp.Star, pFreeFunc: cpp.Star, pUserData: cpp.RawPointer<Void>): Void
Name Type
pAllocFunc cpp.Star
pFreeFunc cpp.Star
pUserData cpp.RawPointer<Void>

memAlloc(size: Int): cpp.RawPointer<cpp.Void>
Name Type
size Int
Returns
cpp.RawPointer<cpp.Void>

memFree(ptr: cpp.RawPointer<cpp.Void>): Void
Name Type
ptr cpp.RawPointer<cpp.Void>

updatePlatformWindows(): Void

call in main loop. will call CreateWindow/ResizeWindow/etc. platform functions for each secondary viewport, and DestroyWindow for each inactive viewport.


renderPlatformWindowsDefaultEx(?platformRenderArg: cpp.RawPointer<cpp.Void> = null, ?rendererRenderArg: cpp.RawPointer<cpp.Void> = null): Void

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.

Name Type Default
platformRenderArg cpp.RawPointer<cpp.Void> null
rendererRenderArg cpp.RawPointer<cpp.Void> null

renderPlatformWindowsDefault(): Void

Implied platform_render_arg = NULL, renderer_render_arg = NULL


destroyPlatformWindows(): Void

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().


findViewportByID(viewportId: ImGuiID): cpp.Star

this is a helper for backends.

Name Type
viewportId ImGuiID
Returns
cpp.Star

findViewportByPlatformHandle(platformHandle: cpp.RawPointer<cpp.Void>): cpp.Star

this is a helper for backends. the type platform_handle is decided by the backend (e.g. HWND, MyWindow*, GLFWwindow* etc.)

Name Type
platformHandle cpp.RawPointer<cpp.Void>
Returns
cpp.Star

imVector_Construct(vector: cpp.RawPointer<cpp.Void>): Void

Construct a zero-size ImVector<> (of any type). This is primarily useful when calling ImFontGlyphRangesBuilder_BuildRanges()

Name Type
vector cpp.RawPointer<cpp.Void>

imVector_Destruct(vector: cpp.RawPointer<cpp.Void>): Void

Destruct an ImVector<> (of any type). Important: Frees the vector memory but does not call destructors on contained objects (if they have them)

Name Type
vector cpp.RawPointer<cpp.Void>

showDemoWindow(?pOpen: Dynamic): Dynamic

create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!

Name Type Default
pOpen Dynamic (optional)
Returns
Dynamic

showMetricsWindow(?pOpen: Dynamic): Dynamic

create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.

Name Type Default
pOpen Dynamic (optional)
Returns
Dynamic

showDebugLogWindow(?pOpen: Dynamic): Dynamic

create Debug Log window. display a simplified log of important dear imgui events.

Name Type Default
pOpen Dynamic (optional)
Returns
Dynamic

showIDStackToolWindowEx(?pOpen: Dynamic): Dynamic

create Stack Tool window. hover items with mouse to query information about the source of their unique ID.

Name Type Default
pOpen Dynamic (optional)
Returns
Dynamic

showAboutWindow(?pOpen: Dynamic): Dynamic

create About window. display Dear ImGui version, credits and build/system information.

Name Type Default
pOpen Dynamic (optional)
Returns
Dynamic

begin(name: Dynamic, ?pOpen: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
name Dynamic
pOpen Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

checkbox(label: Dynamic, v: Dynamic): Dynamic
Name Type
label Dynamic
v Dynamic
Returns
Dynamic

checkboxFlagsIntPtr(label: Dynamic, flags: Dynamic, flagsValue: Dynamic): Dynamic
Name Type
label Dynamic
flags Dynamic
flagsValue Dynamic
Returns
Dynamic

checkboxFlagsUintPtr(label: Dynamic, flags: Dynamic, flagsValue: Dynamic): Dynamic
Name Type
label Dynamic
flags Dynamic
flagsValue Dynamic
Returns
Dynamic

radioButtonIntPtr(label: Dynamic, v: Dynamic, vButton: Dynamic): Dynamic

shortcut to handle the above pattern when value is an integer

Name Type
label Dynamic
v Dynamic
vButton Dynamic
Returns
Dynamic

comboEx(label: Dynamic, currentItem: Dynamic, itemsSeparatedByZeros: Dynamic, ?popupMaxHeightInItems: Dynamic): Dynamic

Separate items with \0 within a string, end item-list with \0\0. e.g. "One\0Two\0Three\0"

Name Type Default
label Dynamic
currentItem Dynamic
itemsSeparatedByZeros Dynamic
popupMaxHeightInItems Dynamic (optional)
Returns
Dynamic

combo(label: Dynamic, currentItem: Dynamic, itemsSeparatedByZeros: Dynamic): Dynamic

Implied popup_max_height_in_items = -1

Name Type
label Dynamic
currentItem Dynamic
itemsSeparatedByZeros Dynamic
Returns
Dynamic

dragFloatEx(label: Dynamic, v: Dynamic, ?vSpeed: Dynamic, ?vMin: Dynamic, ?vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic

If v_min >= v_max we have no bound

Name Type Default
label Dynamic
v Dynamic
vSpeed Dynamic (optional)
vMin Dynamic (optional)
vMax Dynamic (optional)
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

dragFloat(label: Dynamic, v: Dynamic): Dynamic

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0

Name Type
label Dynamic
v Dynamic
Returns
Dynamic

dragFloatRange2Ex(label: Dynamic, vCurrentMin: Dynamic, vCurrentMax: Dynamic, ?vSpeed: Dynamic, ?vMin: Dynamic, ?vMax: Dynamic, ?format: Dynamic, ?formatMax: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
vCurrentMin Dynamic
vCurrentMax Dynamic
vSpeed Dynamic (optional)
vMin Dynamic (optional)
vMax Dynamic (optional)
format Dynamic (optional)
formatMax Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

dragFloatRange2(label: Dynamic, vCurrentMin: Dynamic, vCurrentMax: Dynamic): Dynamic

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", format_max = NULL, flags = 0

Name Type
label Dynamic
vCurrentMin Dynamic
vCurrentMax Dynamic
Returns
Dynamic

dragIntEx(label: Dynamic, v: Dynamic, ?vSpeed: Dynamic, ?vMin: Dynamic, ?vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic

If v_min >= v_max we have no bound

Name Type Default
label Dynamic
v Dynamic
vSpeed Dynamic (optional)
vMin Dynamic (optional)
vMax Dynamic (optional)
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

dragInt(label: Dynamic, v: Dynamic): Dynamic

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0

Name Type
label Dynamic
v Dynamic
Returns
Dynamic

dragIntRange2Ex(label: Dynamic, vCurrentMin: Dynamic, vCurrentMax: Dynamic, ?vSpeed: Dynamic, ?vMin: Dynamic, ?vMax: Dynamic, ?format: Dynamic, ?formatMax: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
vCurrentMin Dynamic
vCurrentMax Dynamic
vSpeed Dynamic (optional)
vMin Dynamic (optional)
vMax Dynamic (optional)
format Dynamic (optional)
formatMax Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

dragIntRange2(label: Dynamic, vCurrentMin: Dynamic, vCurrentMax: Dynamic): Dynamic

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", format_max = NULL, flags = 0

Name Type
label Dynamic
vCurrentMin Dynamic
vCurrentMax Dynamic
Returns
Dynamic

sliderFloatEx(label: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic

adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display.

Name Type Default
label Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

sliderFloat(label: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic): Dynamic

Implied format = "%.3f", flags = 0

Name Type
label Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
Returns
Dynamic

sliderAngleEx(label: Dynamic, vRad: Dynamic, ?vDegreesMin: Dynamic, vDegreesMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
vRad Dynamic
vDegreesMin Dynamic (optional)
vDegreesMax Dynamic
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

sliderAngle(label: Dynamic, vRad: Dynamic): Dynamic

Implied v_degrees_min = -360.0f, v_degrees_max = +360.0f, format = "%.0f deg", flags = 0

Name Type
label Dynamic
vRad Dynamic
Returns
Dynamic

sliderIntEx(label: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

sliderInt(label: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic): Dynamic

Implied format = "%d", flags = 0

Name Type
label Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
Returns
Dynamic

vSliderFloatEx(label: Dynamic, size: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
size Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

vSliderFloat(label: Dynamic, size: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic): Dynamic

Implied format = "%.3f", flags = 0

Name Type
label Dynamic
size Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
Returns
Dynamic

vSliderIntEx(label: Dynamic, size: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
size Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

vSliderInt(label: Dynamic, size: Dynamic, v: Dynamic, vMin: Dynamic, vMax: Dynamic): Dynamic

Implied format = "%d", flags = 0

Name Type
label Dynamic
size Dynamic
v Dynamic
vMin Dynamic
vMax Dynamic
Returns
Dynamic

inputTextEx(label: Dynamic, buf: Dynamic, ?maxLength: Dynamic, ?flags: Dynamic, ?callback: Dynamic, ?userData: Dynamic): Dynamic
Name Type Default
label Dynamic
buf Dynamic
maxLength Dynamic (optional)
flags Dynamic (optional)
callback Dynamic (optional)
userData Dynamic (optional)
Returns
Dynamic

inputText(label: Dynamic, buf: Dynamic, ?maxLength: Dynamic, ?flags: Dynamic): Dynamic

Implied callback = NULL, user_data = NULL

Name Type Default
label Dynamic
buf Dynamic
maxLength Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

inputTextMultilineEx(label: Dynamic, buf: Dynamic, ?maxLength: Dynamic, size: Dynamic, ?flags: Dynamic, ?callback: Dynamic, ?userData: Dynamic): Dynamic
Name Type Default
label Dynamic
buf Dynamic
maxLength Dynamic (optional)
size Dynamic
flags Dynamic (optional)
callback Dynamic (optional)
userData Dynamic (optional)
Returns
Dynamic

inputTextMultiline(label: Dynamic, buf: Dynamic, ?maxLength: Dynamic): Dynamic

Implied size = ImVec2(0, 0), flags = 0, callback = NULL, user_data = NULL

Name Type Default
label Dynamic
buf Dynamic
maxLength Dynamic (optional)
Returns
Dynamic

inputTextWithHintEx(label: Dynamic, hint: Dynamic, buf: Dynamic, ?maxLength: Dynamic, ?flags: Dynamic, ?callback: Dynamic, ?userData: Dynamic): Dynamic
Name Type Default
label Dynamic
hint Dynamic
buf Dynamic
maxLength Dynamic (optional)
flags Dynamic (optional)
callback Dynamic (optional)
userData Dynamic (optional)
Returns
Dynamic

inputTextWithHint(label: Dynamic, hint: Dynamic, buf: Dynamic, ?maxLength: Dynamic, ?flags: Dynamic): Dynamic

Implied callback = NULL, user_data = NULL

Name Type Default
label Dynamic
hint Dynamic
buf Dynamic
maxLength Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

inputFloatEx(label: Dynamic, v: Dynamic, ?step: Dynamic, ?stepFast: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
v Dynamic
step Dynamic (optional)
stepFast Dynamic (optional)
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

inputFloat(label: Dynamic, v: Dynamic): Dynamic

Implied step = 0.0f, step_fast = 0.0f, format = "%.3f", flags = 0

Name Type
label Dynamic
v Dynamic
Returns
Dynamic

inputIntEx(label: Dynamic, v: Dynamic, ?step: Dynamic, ?stepFast: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
v Dynamic
step Dynamic (optional)
stepFast Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

inputInt(label: Dynamic, v: Dynamic): Dynamic

Implied step = 1, step_fast = 100, flags = 0

Name Type
label Dynamic
v Dynamic
Returns
Dynamic

inputDoubleEx(label: Dynamic, v: Dynamic, ?step: Dynamic, ?stepFast: Dynamic, ?format: Dynamic, ?flags: Dynamic): Dynamic
Name Type Default
label Dynamic
v Dynamic
step Dynamic (optional)
stepFast Dynamic (optional)
format Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

inputDouble(label: Dynamic, v: Dynamic): Dynamic

Implied step = 0.0, step_fast = 0.0, format = "%.6f", flags = 0

Name Type
label Dynamic
v Dynamic
Returns
Dynamic

collapsingHeaderBoolPtr(label: Dynamic, pVisible: Dynamic, ?flags: Dynamic): Dynamic

when 'p_visible != NULL': if '*p_visible==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.

Name Type Default
label Dynamic
pVisible Dynamic
flags Dynamic (optional)
Returns
Dynamic

selectableBoolPtrEx(label: Dynamic, pSelected: Dynamic, ?flags: Dynamic, size: Dynamic): Dynamic

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

Name Type Default
label Dynamic
pSelected Dynamic
flags Dynamic (optional)
size Dynamic
Returns
Dynamic

selectableBoolPtr(label: Dynamic, pSelected: Dynamic, ?flags: Dynamic): Dynamic

Implied size = ImVec2(0, 0)

Name Type Default
label Dynamic
pSelected Dynamic
flags Dynamic (optional)
Returns
Dynamic

return true when activated + toggle (*p_selected) if p_selected != NULL

Name Type Default
label Dynamic
shortcut Dynamic
pSelected Dynamic
enabled Dynamic (optional)
Returns
Dynamic

beginPopupModal(name: Dynamic, ?pOpen: Dynamic, ?flags: Dynamic): Dynamic

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

Name Type Default
name Dynamic
pOpen Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

beginTabItem(label: Dynamic, ?pOpen: Dynamic, ?flags: Dynamic): Dynamic

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

Name Type Default
label Dynamic
pOpen Dynamic (optional)
flags Dynamic (optional)
Returns
Dynamic

colorConvertRGBtoHSV(r: Dynamic, g: Dynamic, b: Dynamic, outH: Dynamic, outS: Dynamic, outV: Dynamic): Dynamic
Name Type
r Dynamic
g Dynamic
b Dynamic
outH Dynamic
outS Dynamic
outV Dynamic
Returns
Dynamic

colorConvertHSVtoRGB(h: Dynamic, s: Dynamic, v: Dynamic, outR: Dynamic, outG: Dynamic, outB: Dynamic): Dynamic
Name Type
h Dynamic
s Dynamic
v Dynamic
outR Dynamic
outG Dynamic
outB Dynamic
Returns
Dynamic

Metadata

Name Parameters
:cppInclude "linc_imgui.h"