API
We try to document the basics here, but it is not meant as a replacement for the upstream documentation. If you need general help we recommend looking at the test engine wiki, and possibly at the documentation comments in these header files:
imgui_te_engine.h(for the engine API)imgui_te_context.h(for the test context API)
There are two major parts of the test engine:
- The
Engineitself. This is the class that executes the tests and handles things like interacting with the GUI. - The Test context API, which is what you'll use to control the GUI and write the tests.
For the sake of simplicitly certain parts of the API are not memory-safe. This means that some test engine types are wrapped as raw pointers that are owned by C++ rather than Julia, which means that using them after they have been free'd will cause segfaults. All memory-unsafe types are marked as such in their docstrings.
Because of all that, we recommend using such types only temporarily in the style recommended by the upstream examples. This style is good:
# The test object is never even assigned to a variable
@register_test(engine, "foo", "bar") do ctx
...
endThis style is less good:
all_tests = []
t = @register_test(engine, "foo", "bar")
t.TestFunc = ...
# Dangerous because it allows `t` to potentially be accessed after the
# engine has been destroyed.
push!(all_tests, t)Note that in all the examples in the docstrings below we assume that we have already evaluated:
import CImGui as ig
using ImGuiTestEngine
import ImGuiTestEngine as teEngine
ImGuiTestEngine.Engine — Type
mutable struct EngineRepresents a test engine context. This a wrapper around the upstream ImGuiTestEngine type. Don't create it yourself, use CreateContext().
ImGuiTestEngine.CreateContext — Function
CreateContext(
;
exit_on_completion,
show_test_window
) -> ImGuiTestEngine.Engine
Create a test engine context. The keyword arguments don't do anything in this library, they're used to support the test engine in CImGui.jl's renderloop.
Arguments
exit_on_completion=true: Exit the program after the tests have completed.show_test_window=true: CallShowTestEngineWindows()while running the tests.
Examples
engine = te.CreateContext()ImGuiTestEngine.DestroyContext — Function
DestroyContext(engine::ImGuiTestEngine.Engine; throw)
Destroy a test engine context.
Arguments
throw=true: Whether to throw an exception if the engine has already been destroyed.
Examples
engine = te.CreateContext()
te.DestroyContext(engine)ImGuiTestEngine.ShowTestEngineWindows — Function
ShowTestEngineWindows(
engine::ImGuiTestEngine.Engine,
p_open
)
ImGuiTestEngine.OpenSourceFile — Function
OpenSourceFile(
engine::ImGuiTestEngine.Engine,
source_filename,
source_line_no
)
ImGuiTestEngine.PrintResultSummary — Function
PrintResultSummary(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.Export — Function
Export(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.ExportEx — Function
ExportEx(
engine::ImGuiTestEngine.Engine,
format::ImGuiTestEngine.lib.ImGuiTestEngineExportFormat,
filename
)
ImGuiTestEngine.Start — Function
Start(
engine::ImGuiTestEngine.Engine,
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}}
)
Bind to a dear imgui context. Start coroutine.
ImGuiTestEngine.Stop — Function
Stop(engine::ImGuiTestEngine.Engine)
Stop coroutine and export if any. (Unbind will lazily happen on context shutdown).
ImGuiTestEngine.PostSwap — Function
PostSwap(engine::ImGuiTestEngine.Engine)
Call every frame after framebuffer swap, will process screen capture and call test_io.ScreenCaptureFunc().
ImGuiTestEngine.GetIO — Function
GetIO(
engine::ImGuiTestEngine.Engine
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestEngineIO}
ImGuiTestEngine.RegisterTest — Function
RegisterTest(
engine::ImGuiTestEngine.Engine,
category,
name
) -> Ptr{ImGuiTestEngine.lib.ImGuiTest}
RegisterTest(
engine::ImGuiTestEngine.Engine,
category,
name,
src_file
) -> Ptr{ImGuiTestEngine.lib.ImGuiTest}
RegisterTest(
engine::ImGuiTestEngine.Engine,
category,
name,
src_file,
src_line
) -> Ptr{ImGuiTestEngine.lib.ImGuiTest}
Prefer calling IMREGISTERTEST().
ImGuiTestEngine.UnregisterTest — Function
UnregisterTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest
)
ImGuiTestEngine.UnregisterAllTests — Function
UnregisterAllTests(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.QueueTest — Function
QueueTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest
)
QueueTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest,
run_flags
)
ImGuiTestEngine.QueueTests — Function
QueueTests(
engine::ImGuiTestEngine.Engine,
group::ImGuiTestEngine.lib.ImGuiTestGroup
)
QueueTests(
engine::ImGuiTestEngine.Engine,
group::ImGuiTestEngine.lib.ImGuiTestGroup,
filter
)
QueueTests(
engine::ImGuiTestEngine.Engine,
group::ImGuiTestEngine.lib.ImGuiTestGroup,
filter,
run_flags
)
ImGuiTestEngine.TryAbortEngine — Function
TryAbortEngine(engine::ImGuiTestEngine.Engine) -> Bool
ImGuiTestEngine.AbortCurrentTest — Function
AbortCurrentTest(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.FindTestByName — Function
FindTestByName(
engine::ImGuiTestEngine.Engine,
category,
name
) -> Ptr{ImGuiTestEngine.lib.ImGuiTest}
ImGuiTestEngine.IsTestQueueEmpty — Function
IsTestQueueEmpty(engine::ImGuiTestEngine.Engine) -> Bool
ImGuiTestEngine.IsUsingSimulatedInputs — Function
IsUsingSimulatedInputs(
engine::ImGuiTestEngine.Engine
) -> Bool
ImGuiTestEngine.GetResultSummary — Function
GetResultSummary(
engine::ImGuiTestEngine.Engine,
out_results::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestEngineResultSummary}}
)
ImGuiTestEngine.GetTestList — Function
GetTestList(
engine::ImGuiTestEngine.Engine,
out_tests::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImVector_ImGuiTest_Ptr}}
)
ImGuiTestEngine.GetTestQueue — Function
GetTestQueue(
engine::ImGuiTestEngine.Engine,
out_tests::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImVector_ImGuiTestRunTask}}
)
Registering tests
Once the engine is set up you can register some tests for it to run:
ImGuiTestEngine.@register_test — Macro
@register_test(engine, category::AbstractString, name::AbstractString)::ImGuiTest
@register_test(f::Function, engine,
category::AbstractString, name::AbstractString)::ImGuiTestRegister a ImGuiTest. Note that it will not be executed until the test is queued, either programmatically with QueueTests() or by the user running it manually through ShowTestEngineWindows().
Examples
If you only need to set TestFunc you can use do-syntax:
engine = te.CreateContext()
@register_test(engine, "foo", "bar") do
@imtest ctx isa te.TestContext
endTo set GuiFunc as well you'll need to set the GuiFunc property:
engine = te.CreateContext()
t = @register_test(engine, "foo", "bar")
t.GuiFunc = () -> begin
ig.Begin("Foo")
ig.End()
end
t.TestFunc = () -> @info "Hello world!"ImGuiTestEngine.ImGuiTest — Type
mutable struct ImGuiTestWrapper around the upstream ImGuiTest. Don't create this yourself, use @register_test(). Once it's created you can assign functions to these properties:
GuiFunc::Function, for standalone GUI code that you want to run/test. This shouldn't be necessary if you're testing your own GUI.TestFunc::Function, for tests that you want to execute.
The functions you assign should not take any arguments, and any return value will be discarded.
ImGuiTestEngine.SetOwnedName — Function
SetOwnedName(self::Ptr{ImGuiTestEngine.ImGuiTest}, name)
Within the tests you will often want to refer to parts of your interface by named reference. In the C++ API this is done with the ImGuiTestRef type but with ImGuiTestEngine.jl you should use either strings or integers and they will automatically be converted.
Test context
Inside GuiFunc and TestFunc you can use any methods of the test context API to control and test the GUI. It's not safe to use them outside of a GuiFunc/TestFunc.
ImGuiTestEngine.@imcheck — Macro
@imcheck exprA port of the upstream IM_CHECK() macro. Like the upstream macro, this will return early from the calling function if expr evaluates to false. Prefer using it over @test because it will register test results with the test engine, which can be convenient if you're using the built-in test engine window (see ShowTestEngineWindows()).
@imcheck hooks into @testset's by default, so a failure will be recorded with your Julia Test tests as well as with the test engine. If this is not wanted it can be disabled by passing jltest=false.
A limitation of the current implementation is that nicely parsing the expression, e.g. to display both arguments of an equality, is not supported.
Examples
engine = te.CreateContext()
@register_test(engine, "foo", "bar") do
# This record the result with `Test` as well as the test engine
@imcheck false
# This will only record the result with the test engine
@imcheck false jltest=false
endImGuiTestEngine.@imcheck_noret — Macro
@imcheck_noret exprSame as @imcheck, except that it will not return early from the calling function.
ImGuiTestEngine.OpenAndClose — Function
OpenAndClose(
f,
test_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
A helper function that will ensure test_ref is open, execute f(), and close test_ref again. A typical use would be to open a section, run some tests, and then close the section again (handy for re-runnable tests).
Examples
@register_test(engine, "foo", "bar") do
OpenAndClose("My section") do
# ...
end
endOpenAndClose(
test_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
Open and then close test_ref.
Examples
@register_test(engine, "foo", "bar") do
OpenAndClose("My section")
endImGuiTestEngine.Finish — Function
Finish()
Finish(status::ImGuiTestEngine.lib.ImGuiTestStatus)
Set test status and stop running. Usually called when running test logic from GuiFunc() only.
ImGuiTestEngine.RunChildTest — Function
RunChildTest(
test_name
) -> ImGuiTestEngine.lib.ImGuiTestStatus
RunChildTest(
test_name,
flags
) -> ImGuiTestEngine.lib.ImGuiTestStatus
[Experimental] Run another test from the current test.
ImGuiTestEngine.IsError — Function
IsError() -> Bool
ImGuiTestEngine.IsWarmUpGuiFrame — Function
IsWarmUpGuiFrame() -> Bool
Unless test->Flags has ImGuiTestFlags_NoGuiWarmUp, we run GuiFunc() twice before running TestFunc(). Those frames are called "WarmUp" frames.
ImGuiTestEngine.IsFirstGuiFrame — Function
IsFirstGuiFrame() -> Bool
ImGuiTestEngine.IsFirstTestFrame — Function
IsFirstTestFrame() -> Bool
First frame where TestFunc is running (after warm-up frame).
ImGuiTestEngine.IsGuiFuncOnly — Function
IsGuiFuncOnly() -> Bool
ImGuiTestEngine.SuspendTestFunc — Function
SuspendTestFunc() -> Bool
SuspendTestFunc(file) -> Bool
SuspendTestFunc(file, line) -> Bool
[DEBUG] Generally called via IMSUSPENDTESTFUNC.
ImGuiTestEngine.LogEx — Function
LogEx(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
flags,
fmt
)
ImGuiTestEngine.LogToTTY — Function
LogToTTY(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message
)
LogToTTY(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message,
message_end
)
ImGuiTestEngine.LogToDebugger — Function
LogToDebugger(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message
)
ImGuiTestEngine.LogDebug — Function
LogDebug(fmt)
ImGuiTestVerboseLevelDebug or ImGuiTestVerboseLevelTrace depending on context depth.
ImGuiTestEngine.LogInfo — Function
ImGuiTestEngine.LogWarning — Function
ImGuiTestEngine.LogError — Function
ImGuiTestEngine.LogBasicUiState — Function
LogBasicUiState()
ImGuiTestEngine.LogItemList — Function
LogItemList(
list::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestItemList}}
)
ImGuiTestEngine.Yield — Function
Yield(engine::ImGuiTestEngine.Engine)
Yield()
Yield(count)
ImGuiTestEngine.Sleep — Function
ImGuiTestEngine.SleepShort — Function
SleepShort()
Standard short delay of io.ActionDelayShort (~0.15f), unless in Fast mode.
ImGuiTestEngine.SleepStandard — Function
SleepStandard()
Standard regular delay of io.ActionDelayStandard (~0.40f), unless in Fast mode.
ImGuiTestEngine.SleepNoSkip — Function
SleepNoSkip(time_in_second, framestep_in_second)
ImGuiTestEngine.SetRef — Function
SetRef(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
SetRef(window::Ref{CImGui.lib.ImGuiWindow})
Shortcut to SetRef(window->Name) which works for ChildWindow (see code).
ImGuiTestEngine.GetRef — Function
GetRef() -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestEngine.WindowInfo — Function
WindowInfo(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
WindowInfo(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.WindowClose — Function
WindowClose(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.WindowCollapse — Function
WindowCollapse(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
collapsed
)
ImGuiTestEngine.WindowFocus — Function
WindowFocus(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
WindowFocus(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.WindowBringToFront — Function
WindowBringToFront(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
WindowBringToFront(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.WindowMove — Function
WindowMove(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
WindowMove(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
pivot::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
WindowMove(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
pivot::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
flags
)
ImGuiTestEngine.WindowResize — Function
WindowResize(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
sz::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.WindowTeleportToMakePosVisible — Function
WindowTeleportToMakePosVisible(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_in_window::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ImGuiTestEngine.GetWindowByRef — Function
GetWindowByRef(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Ptr{CImGui.lib.ImGuiWindow}
ImGuiTestEngine.PopupCloseOne — Function
PopupCloseOne()
ImGuiTestEngine.PopupCloseAll — Function
PopupCloseAll()
ImGuiTestEngine.PopupGetWindowID — Function
PopupGetWindowID(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> UInt32
ImGuiTestEngine.GetID — Function
GetID(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> UInt32
GetID(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
seed_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> UInt32
ImGuiTestEngine.GetPosOnVoid — Function
GetPosOnVoid(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
) -> Any
Find a point that has no windows // FIXME: This needs error return and flag to enable/disable forcefully finding void.
ImGuiTestEngine.GetWindowTitlebarPoint — Function
GetWindowTitlebarPoint(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Any
Return a clickable point on window title-bar (window tab for docked windows).
ImGuiTestEngine.GetMainMonitorWorkPos — Function
GetMainMonitorWorkPos() -> Any
Work pos and size of main viewport when viewports are disabled, or work pos and size of monitor containing main viewport when viewports are enabled.
ImGuiTestEngine.GetMainMonitorWorkSize — Function
GetMainMonitorWorkSize() -> Any
ImGuiTestEngine.CaptureReset — Function
ImGuiTestEngine.CaptureSetExtension — Function
CaptureSetExtension(ext)
Set capture file format (otherwise for video this default to EngineIO->VideoCaptureExtension).
ImGuiTestEngine.CaptureAddWindow — Function
CaptureAddWindow(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
Add window to be captured (default to capture everything).
ImGuiTestEngine.CaptureScreenshotWindow — Function
CaptureScreenshotWindow(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
CaptureScreenshotWindow(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
capture_flags
)
Trigger a screen capture of a single window (== CaptureAddWindow() + CaptureScreenshot()).
ImGuiTestEngine.CaptureScreenshot — Function
CaptureScreenshot(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
CaptureScreenshot() -> Bool
CaptureScreenshot(capture_flags) -> Bool
Trigger a screen capture.
ImGuiTestEngine.CaptureBeginVideo — Function
CaptureBeginVideo(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
ImGuiTestEngine.CaptureEndVideo — Function
CaptureEndVideo(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
CaptureEndVideo() -> Bool
ImGuiTestEngine.MouseMove — Function
MouseMove(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
MouseMove(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.MouseMoveToPos — Function
MouseMoveToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.MouseTeleportToPos — Function
MouseTeleportToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
MouseTeleportToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
flags
)
ImGuiTestEngine.MouseClick — Function
MouseClick()
MouseClick(button)
ImGuiTestEngine.MouseClickMulti — Function
MouseClickMulti(button, count)
ImGuiTestEngine.MouseDoubleClick — Function
MouseDoubleClick()
MouseDoubleClick(button)
ImGuiTestEngine.MouseDown — Function
MouseDown()
MouseDown(button)
ImGuiTestEngine.MouseUp — Function
MouseUp()
MouseUp(button)
ImGuiTestEngine.MouseLiftDragThreshold — Function
MouseLiftDragThreshold()
MouseLiftDragThreshold(button)
ImGuiTestEngine.MouseDragWithDelta — Function
MouseDragWithDelta(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
MouseDragWithDelta(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
button
)
ImGuiTestEngine.MouseWheel — Function
MouseWheel(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.MouseWheelX — Function
MouseWheelX(dx)
ImGuiTestEngine.MouseWheelY — Function
MouseWheelY(dy)
ImGuiTestEngine.MouseMoveToVoid — Function
MouseMoveToVoid()
MouseMoveToVoid(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.MouseClickOnVoid — Function
MouseClickOnVoid()
MouseClickOnVoid(button)
MouseClickOnVoid(
button,
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.FindHoveredWindowAtPos — Function
FindHoveredWindowAtPos(
pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
) -> Ptr{CImGui.lib.ImGuiWindow}
ImGuiTestEngine.FindExistingVoidPosOnViewport — Function
FindExistingVoidPosOnViewport(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
out::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
) -> Bool
ImGuiTestEngine.MouseSetViewport — Function
MouseSetViewport(
window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
ImGuiTestEngine.MouseSetViewportID — Function
MouseSetViewportID(viewport_id)
ImGuiTestEngine.KeyDown — Function
KeyDown(key_chord)
ImGuiTestEngine.KeyUp — Function
KeyUp(key_chord)
ImGuiTestEngine.KeyPress — Function
KeyPress(key_chord)
KeyPress(key_chord, count)
ImGuiTestEngine.KeyHold — Function
KeyHold(key_chord, time)
ImGuiTestEngine.KeySetEx — Function
KeySetEx(key_chord, is_down, time)
ImGuiTestEngine.KeyChars — Function
ImGuiTestEngine.KeyCharsAppend — Function
ImGuiTestEngine.KeyCharsAppendEnter — Function
ImGuiTestEngine.KeyCharsReplace — Function
ImGuiTestEngine.KeyCharsReplaceEnter — Function
ImGuiTestEngine.SetInputMode — Function
SetInputMode(input_mode::CImGui.lib.ImGuiInputSource)
Mouse or Keyboard or Gamepad. In Keyboard or Gamepad mode, actions such as ItemClick or ItemInput are using nav facilities instead of Mouse.
ImGuiTestEngine.NavMoveTo — Function
NavMoveTo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.NavActivate — Function
NavActivate()
Activate current selected item: activate button, tweak sliders/drags. Equivalent of pressing Space on keyboard, ImGuiKey_GamepadFaceUp on a gamepad.
ImGuiTestEngine.NavInput — Function
NavInput()
Input into select item: input sliders/drags. Equivalent of pressing Enter on keyboard, ImGuiKey_GamepadFaceDown on a gamepad.
ImGuiTestEngine.ScrollTo — Function
ScrollTo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
axis::CImGui.lib.ImGuiAxis,
scroll_v
)
ScrollTo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
axis::CImGui.lib.ImGuiAxis,
scroll_v,
flags
)
ImGuiTestEngine.ScrollToX — Function
ScrollToX(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
scroll_x
)
ImGuiTestEngine.ScrollToY — Function
ScrollToY(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
scroll_y
)
ImGuiTestEngine.ScrollToTop — Function
ScrollToTop(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToBottom — Function
ScrollToBottom(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToPos — Function
ScrollToPos(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_v,
axis::CImGui.lib.ImGuiAxis
)
ScrollToPos(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_v,
axis::CImGui.lib.ImGuiAxis,
flags
)
ImGuiTestEngine.ScrollToPosX — Function
ScrollToPosX(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_x
)
ImGuiTestEngine.ScrollToPosY — Function
ScrollToPosY(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_y
)
ImGuiTestEngine.ScrollToItem — Function
ScrollToItem(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
axis::CImGui.lib.ImGuiAxis
)
ScrollToItem(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
axis::CImGui.lib.ImGuiAxis,
flags
)
ImGuiTestEngine.ScrollToItemX — Function
ScrollToItemX(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToItemY — Function
ScrollToItemY(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToTabItem — Function
ScrollToTabItem(
tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
tab_id
)
ImGuiTestEngine.ScrollErrorCheck — Function
ScrollErrorCheck(
axis::CImGui.lib.ImGuiAxis,
expected,
actual,
remaining_attempts
) -> Bool
ImGuiTestEngine.ScrollVerifyScrollMax — Function
ScrollVerifyScrollMax(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ItemInfo — Function
ItemInfo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ItemInfo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.ItemInfoOpenFullPath — Function
ItemInfoOpenFullPath(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ItemInfoOpenFullPath(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.ItemInfoHandleWildcardSearch — Function
ItemInfoHandleWildcardSearch(
wildcard_prefix_start,
wildcard_prefix_end,
wildcard_suffix_start
) -> UInt32
ImGuiTestEngine.ItemInfoNull — Function
ItemInfoNull() -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.GatherItems — Function
GatherItems(
out_list::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestItemList}},
parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
GatherItems(
out_list::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestItemList}},
parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
depth
)
ImGuiTestEngine.ItemAction — Function
ItemAction(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemAction(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ItemAction(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags,
action_arg
)
ImGuiTestEngine.ItemClick — Function
ItemClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
button
)
ItemClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
button,
flags
)
ImGuiTestEngine.ItemDoubleClick — Function
ItemDoubleClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemDoubleClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemCheck — Function
ItemCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemUncheck — Function
ItemUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemOpen — Function
ItemOpen(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemOpen(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemClose — Function
ItemClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemInput — Function
ItemInput(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemInput(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemNavActivate — Function
ItemNavActivate(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemNavActivate(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemActionAll — Function
ItemActionAll(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemActionAll(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
filter::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestActionFilter}}
)
ImGuiTestEngine.ItemOpenAll — Function
ItemOpenAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemOpenAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
depth
)
ItemOpenAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
depth,
passes
)
ImGuiTestEngine.ItemCloseAll — Function
ItemCloseAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemCloseAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
depth
)
ItemCloseAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
depth,
passes
)
ImGuiTestEngine.ItemInputValue — Function
ItemInputValue(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
v::Integer
)
ItemInputValue(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
f::Real
)
ItemInputValue(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
str::Union{Ptr{Int8}, Ptr{Nothing}, String}
)
ImGuiTestEngine.ItemReadAsInt — Function
ItemReadAsInt(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Int32
ImGuiTestEngine.ItemReadAsFloat — Function
ItemReadAsFloat(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Float32
ImGuiTestEngine.ItemReadAsScalar — Function
ItemReadAsScalar(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
data_type,
out_data
) -> Bool
ItemReadAsScalar(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
data_type,
out_data,
flags
) -> Bool
ImGuiTestEngine.ItemReadAsString — Function
ItemReadAsString(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Ptr{Int8}
ItemReadAsString(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
out_buf::Union{Ptr{Int8}, Ptr{Nothing}, String},
out_buf_size::Real
) -> UInt64
ImGuiTestEngine.ItemExists — Function
ItemExists(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemIsChecked — Function
ItemIsChecked(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemIsOpened — Function
ItemIsOpened(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemVerifyCheckedIfAlive — Function
ItemVerifyCheckedIfAlive(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
checked
)
ImGuiTestEngine.ItemHold — Function
ItemHold(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
time
)
ImGuiTestEngine.ItemHoldForFrames — Function
ItemHoldForFrames(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
frames
)
ImGuiTestEngine.ItemDragOverAndHold — Function
ItemDragOverAndHold(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
ref_dst::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ItemDragAndDrop — Function
ItemDragAndDrop(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
ref_dst::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemDragAndDrop(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
ref_dst::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
button
)
ImGuiTestEngine.ItemDragWithDelta — Function
ItemDragWithDelta(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.TabClose — Function
TabClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.TabBarCompareOrder — Function
TabBarCompareOrder(
tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
tab_order
) -> Bool
ImGuiTestEngine.MenuAction — Function
MenuAction(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuActionAll — Function
MenuActionAll(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuClick — Function
MenuClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuCheck — Function
MenuCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuUncheck — Function
MenuUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuCheckAll — Function
MenuCheckAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuUncheckAll — Function
MenuUncheckAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ComboClick — Function
ComboClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ComboClickAll — Function
ComboClickAll(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.TableOpenContextMenu — Function
TableOpenContextMenu(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
TableOpenContextMenu(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
column_n
)
ImGuiTestEngine.TableClickHeader — Function
TableClickHeader(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
label
) -> CImGui.lib.ImGuiSortDirection
TableClickHeader(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
label,
key_mods
) -> CImGui.lib.ImGuiSortDirection
ImGuiTestEngine.TableSetColumnEnabled — Function
TableSetColumnEnabled(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
label,
enabled
)
ImGuiTestEngine.TableResizeColumn — Function
TableResizeColumn(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
column_n,
width
)
ImGuiTestEngine.TableGetSortSpecs — Function
TableGetSortSpecs(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Ptr{CImGui.lib.ImGuiTableSortSpecs}
ImGuiTestEngine.ViewportPlatform_SetWindowPos — Function
ViewportPlatform_SetWindowPos(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)
ImGuiTestEngine.ViewportPlatform_SetWindowSize — Function
ViewportPlatform_SetWindowSize(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}},
size::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
)
ImGuiTestEngine.ViewportPlatform_SetWindowFocus — Function
ViewportPlatform_SetWindowFocus(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.ViewportPlatform_CloseWindow — Function
ViewportPlatform_CloseWindow(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.DockClear — Function
DockClear(window_name)
ImGuiTestEngine.DockInto — Function
DockInto(
src_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
dst_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
DockInto(
src_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
dst_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
split_dir::CImGui.lib.ImGuiDir
)
DockInto(
src_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
dst_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
split_dir::CImGui.lib.ImGuiDir,
is_outer_docking
)
DockInto(
src_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
dst_id::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
split_dir::CImGui.lib.ImGuiDir,
is_outer_docking,
flags
)
ImGuiTestEngine.UndockNode — Function
UndockNode(dock_id)
ImGuiTestEngine.UndockWindow — Function
UndockWindow(window_name)
ImGuiTestEngine.WindowIsUndockedOrStandalone — Function
WindowIsUndockedOrStandalone(
window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
ImGuiTestEngine.DockIdIsUndockedOrStandalone — Function
DockIdIsUndockedOrStandalone(dock_id) -> Bool
ImGuiTestEngine.DockNodeHideTabBar — Function
DockNodeHideTabBar(
node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
hidden
)
ImGuiTestEngine.PerfCalcRef — Function
PerfCalcRef()
ImGuiTestEngine.PerfCapture — Function
PerfCapture()
PerfCapture(category)
PerfCapture(category, test_name)
PerfCapture(category, test_name, csv_file)
Other
These functions/types are less commonly used than the ones documented above.
ImGuiTestRef
ImGuiTestEngine.ImGuiTestRef — Type
ImGuiTestRef() -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestRef(
id::Integer
) -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestRef(
path::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestEngine.IsEmpty — Function
IsEmpty(self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog}) -> Bool
IsEmpty(self::Ptr{ImGuiTestEngine.lib.ImGuiTestRef}) -> Bool
ImGuiTestRefDesc
ImGuiTestEngine.C_str — Function
C_str(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestRefDesc}
) -> Ptr{Int8}
ImGuiTestEngine.ImGuiTestRefDesc — Type
ImGuiTestRefDesc(
ref::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestRef}}
) -> ImGuiTestEngine.lib.ImGuiTestRefDesc
ImGuiTestRefDesc(
ref::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestRef}},
item::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestItemInfo}}
) -> ImGuiTestEngine.lib.ImGuiTestRefDesc
ImGuiTestGenericItemStatus
ImGuiTestEngine.ImGuiTestGenericItemStatus — Type
ImGuiTestGenericItemStatus(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
ImGuiTestEngine.QuerySet — Function
QuerySet(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
QuerySet(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus},
ret_val
)
ImGuiTestEngine.QueryInc — Function
QueryInc(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
QueryInc(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus},
ret_val
)
ImGuiTestEngine.Draw — Function
Draw(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
ImGuiTestItemList
ImGuiTestEngine.Reserve — Function
Reserve(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
capacity
)
ImGuiTestEngine.GetSize — Function
GetSize(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Int32
ImGuiTestEngine.GetByIndex — Function
GetByIndex(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
n
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.GetByID — Function
GetByID(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
id
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.Size — Function
Size(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> UInt64
ImGuiTestEngine.Begin — Function
Begin(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.End — Function
End(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiPerfTool
ImGuiTestEngine.ImGuiPerfTool — Type
ImGuiPerfTool() -> Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}
ImGuiTestEngine.Clear — Function
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf})
Free allocated memory buffer if such exists.
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList})
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog})
Clear(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericVars})
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiTestGatherTask})
Clear(self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool})
ImGuiTestEngine.LoadCSV — Function
LoadCSV(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}
) -> Bool
LoadCSV(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
filename
) -> Bool
ImGuiTestEngine.AddEntry — Function
AddEntry(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
entry::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
)
ImGuiTestEngine.ShowPerfToolWindow — Function
ShowPerfToolWindow(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
engine::ImGuiTestEngine.Engine,
p_open
)
ImGuiTestEngine.ViewOnly — Function
ViewOnly(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
perf_name::Union{Ptr{Int8}, String}
)
ViewOnly(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
perf_names::Ref{Vector{String}}
)
ImGuiTestEngine.GetEntryByBatchIdx — Function
GetEntryByBatchIdx(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
idx
) -> Ptr{ImGuiTestEngine.lib.ImGuiPerfToolEntry}
GetEntryByBatchIdx(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
idx,
perf_name
) -> Ptr{ImGuiTestEngine.lib.ImGuiPerfToolEntry}
ImGuiTestEngine.SaveHtmlReport — Function
SaveHtmlReport(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
file_name
) -> Bool
SaveHtmlReport(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
file_name,
image_file
) -> Bool
ImGuiTestEngine.Empty — Function
Empty(self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}) -> Bool
ImGuiPerfToolEntry:
ImGuiTestEngine.ImGuiPerfToolEntry — Type
ImGuiPerfToolEntry(
rhs::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
) -> Ptr{ImGuiTestEngine.lib.ImGuiPerfToolEntry}
ImGuiTestEngine.Set — Function
ImGuiCaptureContext
ImGuiTestEngine.ImGuiCaptureContext — Type
ImGuiCaptureContext(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
ImGuiCaptureContext(
capture_func::Ref{Nothing}
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
ImGuiTestEngine.PreNewFrame — Function
PreNewFrame(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.PreRender — Function
PreRender(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.PostRender — Function
PostRender(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.CaptureUpdate — Function
CaptureUpdate(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext},
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> ImGuiTestEngine.lib.ImGuiCaptureStatus
ImGuiTestEngine.RestoreBackedUpData — Function
RestoreBackedUpData(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.ClearState — Function
ClearState(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.BeginVideoCapture — Function
BeginVideoCapture(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext},
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
)
ImGuiTestEngine.EndVideoCapture — Function
EndVideoCapture(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.IsCapturingVideo — Function
IsCapturingVideo(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
) -> Bool
ImGuiTestEngine.IsCapturing — Function
IsCapturing(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
) -> Bool
ImGuiCaptureToolUI
ImGuiTestEngine.ImGuiCaptureToolUI — Type
ImGuiCaptureToolUI(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureToolUI}
ImGuiTestEngine.ShowCaptureToolWindow — Function
ShowCaptureToolWindow(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureToolUI},
context::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureContext}}
)
ShowCaptureToolWindow(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureToolUI},
context::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureContext}},
p_open
)
Render a capture tool window with various options and utilities.
ImGuiCsvParser
ImGuiTestEngine.ImGuiCsvParser — Type
ImGuiCsvParser() -> Ptr{ImGuiTestEngine.lib.ImGuiCsvParser}
ImGuiCsvParser(
columns
) -> Ptr{ImGuiTestEngine.lib.ImGuiCsvParser}
ImGuiTestEngine.Load — Function
Load(
self::Ptr{ImGuiTestEngine.lib.ImGuiCsvParser},
file_name
) -> Bool
Open and parse a CSV file.
ImGuiTestEngine.GetCell — Function
GetCell(
self::Ptr{ImGuiTestEngine.lib.ImGuiCsvParser},
row,
col
) -> Ptr{Int8}
ImGuiTestLog
ImGuiTestEngine.ImGuiTestLog — Type
ImGuiTestLog() -> Ptr{ImGuiTestEngine.lib.ImGuiTestLog}
ImGuiTestEngine.GetText — Function
GetText(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog}
) -> Ptr{Int8}
ImGuiTestEngine.GetTextLen — Function
GetTextLen(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog}
) -> Int32
ImGuiTestEngine.ExtractLinesForVerboseLevels — Function
ExtractLinesForVerboseLevels(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog},
level_min::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
level_max::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
out_buffer::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTextBuffer}}
) -> Int32
ImGuiTestEngine.UpdateLineOffsets — Function
UpdateLineOffsets(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog},
engine_io::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestEngineIO}},
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
start
)
ImGuiTestEngine.Destroy — Function
Destructor for ImGuiCaptureImageBuf
Destructor for ImGuiCaptureContext
Destructor for ImGuiCaptureToolUI
Destructor for ImGuiTestItemInfo
Destructor for ImGuiTestLog
Destructor for ImGuiTest
Destructor for ImGuiTestRef
Destructor for ImGuiTestRefDesc
Destructor for ImGuiTestActionFilter
Destructor for ImGuiTestGenericItemStatus
Destructor for ImGuiTestGenericVars
Destructor for ImGuiCsvParser
Destructor for ImGuiPerfToolEntry
Destructor for ImGuiPerfToolBatch
Destructor for ImGuiPerfTool
ImGuiTestEngine.ImHashDecoratedPath — Function
ImHashDecoratedPath(str) -> UInt32
ImHashDecoratedPath(str, str_end) -> UInt32
ImHashDecoratedPath(str, str_end, seed) -> UInt32
ImGuiTestEngine.ImFindNextDecoratedPartInPath — Function
ImFindNextDecoratedPartInPath(str) -> Ptr{Int8}
ImFindNextDecoratedPartInPath(str, str_end) -> Ptr{Int8}
ImGuiTestEngine.ImFileExist — Function
ImFileExist(filename) -> Bool
ImGuiTestEngine.ImFileDelete — Function
ImFileDelete(filename) -> Bool
ImGuiTestEngine.ImFileCreateDirectoryChain — Function
ImFileCreateDirectoryChain(path) -> Bool
ImFileCreateDirectoryChain(path, path_end) -> Bool
ImGuiTestEngine.ImFileFindInParents — Function
ImFileFindInParents(
sub_path,
max_parent_count,
output
) -> Bool
ImGuiTestEngine.ImFileLoadSourceBlurb — Function
ImFileLoadSourceBlurb(
filename,
line_no_start,
line_no_end,
out_buf::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTextBuffer}}
) -> Bool
ImGuiTestEngine.ImGuiCaptureImageBuf — Type
ImGuiCaptureImageBuf(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf}
ImGuiTestEngine.ImPathFindFilename — Function
ImPathFindFilename(path) -> Ptr{Int8}
ImPathFindFilename(path, path_end) -> Ptr{Int8}
Return value always between path and path_end.
ImGuiTestEngine.ImPathFindExtension — Function
ImPathFindExtension(path) -> Ptr{Int8}
ImPathFindExtension(path, path_end) -> Ptr{Int8}
Return value always between path and path_end.
ImGuiTestEngine.ImPathFixSeparatorsForCurrentOS — Function
ImPathFixSeparatorsForCurrentOS(buf)
ImGuiTestEngine.CreateEmpty — Function
CreateEmpty(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf},
w,
h
)
Reallocate buffer for pixel data and zero it.
ImGuiTestEngine.SaveFile — Function
SaveFile(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf},
filename
) -> Bool
Save pixel data to specified image file.
ImGuiTestEngine.RemoveAlpha — Function
RemoveAlpha(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf}
)
Clear alpha channel from all pixels.
ImGuiTestEngine.ImStrReplace — Function
ImStrReplace(s, find, repl)
ImGuiTestEngine.ImStrchrRangeWithEscaping — Function
ImStrchrRangeWithEscaping(str, str_end, find_c) -> Ptr{Int8}
ImGuiTestEngine.ImStrXmlEscape — Function
ImStrXmlEscape(s)
ImGuiTestEngine.ImStrBase64Encode — Function
ImStrBase64Encode(src, dst, length) -> Int32
ImGuiTestEngine.ImParseExtractArgcArgvFromCommandLine — Function
ImParseExtractArgcArgvFromCommandLine(
out_argc,
out_argv,
cmd_line
)
ImGuiTestEngine.ImParseFindIniSection — Function
ImParseFindIniSection(
ini_config,
header,
result::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_char}}
) -> Bool
ImGuiTestEngine.ImTimeGetInMicroseconds — Function
ImTimeGetInMicroseconds() -> UInt64
ImGuiTestEngine.ImTimestampToISO8601 — Function
ImTimestampToISO8601(timestamp, out_date)
ImGuiTestEngine.ImThreadSleepInMilliseconds — Function
ImThreadSleepInMilliseconds(ms)
ImGuiTestEngine.ImThreadSetCurrentThreadDescription — Function
ImThreadSetCurrentThreadDescription(description)
ImGuiTestEngine.ImBuildGetCompilationInfo — Function
ImBuildGetCompilationInfo(
) -> Ptr{ImGuiTestEngine.lib.ImBuildInfo}
ImGuiTestEngine.ImBuildFindGitBranchName — Function
ImBuildFindGitBranchName(git_repo_path, branch_name) -> Bool
ImGuiTestEngine.ImOsCreateProcess — Function
ImOsCreateProcess(cmd_line) -> Bool
ImGuiTestEngine.ImOsPOpen — Function
ImOsPOpen(cmd_line, mode) -> Ptr{Base.Libc.FILE}
ImGuiTestEngine.ImOsPClose — Function
ImOsPClose(fp)
ImGuiTestEngine.ImOsOpenInShell — Function
ImOsOpenInShell(path)
ImGuiTestEngine.ImOsIsDebuggerPresent — Function
ImOsIsDebuggerPresent() -> Bool
ImGuiTestEngine.ImOsOutputDebugString — Function
ImOsOutputDebugString(message)
ImGuiTestEngine.ImOsConsoleSetTextColor — Function
ImOsConsoleSetTextColor(
stream::ImGuiTestEngine.lib.ImOsConsoleStream,
color::ImGuiTestEngine.lib.ImOsConsoleTextColor
)
ImGuiTestEngine.TableGetHeaderID — Function
TableGetHeaderID(
table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
column::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> UInt32
TableGetHeaderID(
table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
column::Union{Ptr{Int8}, Ptr{Nothing}, String},
instance_no::Integer
) -> UInt32
TableGetHeaderID(
table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
column_n::Integer
) -> UInt32
TableGetHeaderID(
table::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTable}},
column_n::Integer,
instance_no::Integer
) -> UInt32
ImGuiTestEngine.TableDiscardInstanceAndSettings — Function
TableDiscardInstanceAndSettings(table_id)
ImGuiTestEngine.DrawDataVerifyMatchingBufferCount — Function
DrawDataVerifyMatchingBufferCount(
draw_data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawData}}
)
ImGuiTestEngine.PerfToolAppendToCSV — Function
PerfToolAppendToCSV(
perf_log::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfTool}},
entry::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
)
PerfToolAppendToCSV(
perf_log::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfTool}},
entry::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}},
filename
)
ImGuiTestEngine.ImGuiTestActionFilter — Type
ImGuiTestActionFilter(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestActionFilter}
ImGuiTestEngine.ImGuiTestEngineHook_ItemAdd — Function
ImGuiTestEngineHook_ItemAdd(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
id,
bb::Union{Ptr{Nothing}, Ref{CImGui.lib.ImRect}},
item_data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiLastItemData}}
)
ImGuiTestEngine.ImGuiTestEngineHook_ItemInfo — Function
ImGuiTestEngineHook_ItemInfo(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
id,
label,
flags
)
ImGuiTestEngine.ImGuiTestEngineHook_Log — Function
ImGuiTestEngineHook_Log(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
fmt
)
ImGuiTestEngine.FindItemDebugLabel — Function
FindItemDebugLabel(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
id
) -> Ptr{Int8}
ImGuiTestEngine.Check — Function
Check(file, func, line, flags, result, expr) -> Bool
ImGuiTestEngine.CheckOpStr — Function
CheckOpStr(
file,
func,
line,
flags,
op,
lhs_desc,
lhs_value,
rhs_desc,
rhs_value,
out_result
) -> Bool
ImGuiTestEngine.Error — Function
Error(file, func, line, flags, fmt) -> Bool
ImGuiTestEngine.AssertLog — Function
AssertLog(expr, file, _function, line)
ImGuiTestEngine.GetTempStringBuilder — Function
GetTempStringBuilder() -> Ptr{CImGui.lib.ImGuiTextBuffer}
ImGuiTestEngine.ImGuiTestGenericVars — Type
ImGuiTestGenericVars(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestGenericVars}
ImGuiTestEngine.CrashHandler — Function
CrashHandler()
Default crash handler, should be called from a custom crash handler if such exists.
ImGuiTestEngine.ImGuiTestItemInfo — Type
ImGuiTestItemInfo(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}