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
Engine
itself. 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
...
end
This 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 te
Engine
ImGuiTestEngine.Engine
— Typemutable struct Engine
Represents a test engine context. This a wrapper around the upstream ImGuiTestEngine
type. Don't create it yourself, use CreateContext()
.
ImGuiTestEngine.CreateContext
— FunctionCreateContext(
;
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
— FunctionDestroyContext(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
— FunctionShowTestEngineWindows(
engine::ImGuiTestEngine.Engine,
p_open
)
ImGuiTestEngine.OpenSourceFile
— FunctionOpenSourceFile(
engine::ImGuiTestEngine.Engine,
source_filename,
source_line_no
)
ImGuiTestEngine.PrintResultSummary
— FunctionPrintResultSummary(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.Export
— FunctionExport(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.ExportEx
— FunctionExportEx(
engine::ImGuiTestEngine.Engine,
format::ImGuiTestEngine.lib.ImGuiTestEngineExportFormat,
filename
)
ImGuiTestEngine.Start
— FunctionStart(
engine::ImGuiTestEngine.Engine,
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}}
)
Bind to a dear imgui context. Start coroutine.
ImGuiTestEngine.Stop
— FunctionStop(engine::ImGuiTestEngine.Engine)
Stop coroutine and export if any. (Unbind will lazily happen on context shutdown).
ImGuiTestEngine.PostSwap
— FunctionPostSwap(engine::ImGuiTestEngine.Engine)
Call every frame after framebuffer swap, will process screen capture and call test_io.ScreenCaptureFunc().
ImGuiTestEngine.GetIO
— FunctionGetIO(
engine::ImGuiTestEngine.Engine
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestEngineIO}
ImGuiTestEngine.RegisterTest
— FunctionRegisterTest(
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
— FunctionUnregisterTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest
)
ImGuiTestEngine.UnregisterAllTests
— FunctionUnregisterAllTests(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.QueueTest
— FunctionQueueTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest
)
QueueTest(
engine::ImGuiTestEngine.Engine,
test::ImGuiTestEngine.ImGuiTest,
run_flags
)
ImGuiTestEngine.QueueTests
— FunctionQueueTests(
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
— FunctionTryAbortEngine(engine::ImGuiTestEngine.Engine) -> Bool
ImGuiTestEngine.AbortCurrentTest
— FunctionAbortCurrentTest(engine::ImGuiTestEngine.Engine)
ImGuiTestEngine.FindTestByName
— FunctionFindTestByName(
engine::ImGuiTestEngine.Engine,
category,
name
) -> Ptr{ImGuiTestEngine.lib.ImGuiTest}
ImGuiTestEngine.IsTestQueueEmpty
— FunctionIsTestQueueEmpty(engine::ImGuiTestEngine.Engine) -> Bool
ImGuiTestEngine.IsUsingSimulatedInputs
— FunctionIsUsingSimulatedInputs(
engine::ImGuiTestEngine.Engine
) -> Bool
ImGuiTestEngine.GetResultSummary
— FunctionGetResultSummary(
engine::ImGuiTestEngine.Engine,
out_results::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestEngineResultSummary}}
)
ImGuiTestEngine.GetTestList
— FunctionGetTestList(
engine::ImGuiTestEngine.Engine,
out_tests::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImVector_ImGuiTest_Ptr}}
)
ImGuiTestEngine.GetTestQueue
— FunctionGetTestQueue(
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)::ImGuiTest
Register 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
end
To 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
— Typemutable struct ImGuiTest
Wrapper 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
— FunctionSetOwnedName(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 expr
A 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
end
ImGuiTestEngine.@imcheck_noret
— Macro@imcheck_noret expr
Same as @imcheck
, except that it will not return early from the calling function.
ImGuiTestEngine.OpenAndClose
— FunctionOpenAndClose(
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
end
OpenAndClose(
test_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
Open and then close test_ref
.
Examples
@register_test(engine, "foo", "bar") do
OpenAndClose("My section")
end
ImGuiTestEngine.Finish
— FunctionFinish()
Finish(status::ImGuiTestEngine.lib.ImGuiTestStatus)
Set test status and stop running. Usually called when running test logic from GuiFunc() only.
ImGuiTestEngine.RunChildTest
— FunctionRunChildTest(
test_name
) -> ImGuiTestEngine.lib.ImGuiTestStatus
RunChildTest(
test_name,
flags
) -> ImGuiTestEngine.lib.ImGuiTestStatus
[Experimental] Run another test from the current test.
ImGuiTestEngine.IsError
— FunctionIsError() -> Bool
ImGuiTestEngine.IsWarmUpGuiFrame
— FunctionIsWarmUpGuiFrame() -> Bool
Unless test->Flags has ImGuiTestFlags_NoGuiWarmUp, we run GuiFunc() twice before running TestFunc(). Those frames are called "WarmUp" frames.
ImGuiTestEngine.IsFirstGuiFrame
— FunctionIsFirstGuiFrame() -> Bool
ImGuiTestEngine.IsFirstTestFrame
— FunctionIsFirstTestFrame() -> Bool
First frame where TestFunc is running (after warm-up frame).
ImGuiTestEngine.IsGuiFuncOnly
— FunctionIsGuiFuncOnly() -> Bool
ImGuiTestEngine.SuspendTestFunc
— FunctionSuspendTestFunc() -> Bool
SuspendTestFunc(file) -> Bool
SuspendTestFunc(file, line) -> Bool
[DEBUG] Generally called via IMSUSPENDTESTFUNC.
ImGuiTestEngine.LogEx
— FunctionLogEx(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
flags,
fmt
)
ImGuiTestEngine.LogToTTY
— FunctionLogToTTY(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message
)
LogToTTY(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message,
message_end
)
ImGuiTestEngine.LogToDebugger
— FunctionLogToDebugger(
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
message
)
ImGuiTestEngine.LogDebug
— FunctionLogDebug(fmt)
ImGuiTestVerboseLevelDebug or ImGuiTestVerboseLevelTrace depending on context depth.
ImGuiTestEngine.LogInfo
— FunctionImGuiTestEngine.LogWarning
— FunctionImGuiTestEngine.LogError
— FunctionImGuiTestEngine.LogBasicUiState
— FunctionLogBasicUiState()
ImGuiTestEngine.LogItemList
— FunctionLogItemList(
list::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestItemList}}
)
ImGuiTestEngine.Yield
— FunctionYield(engine::ImGuiTestEngine.Engine)
Yield()
Yield(count)
ImGuiTestEngine.Sleep
— FunctionImGuiTestEngine.SleepShort
— FunctionSleepShort()
Standard short delay of io.ActionDelayShort (~0.15f), unless in Fast mode.
ImGuiTestEngine.SleepStandard
— FunctionSleepStandard()
Standard regular delay of io.ActionDelayStandard (~0.40f), unless in Fast mode.
ImGuiTestEngine.SleepNoSkip
— FunctionSleepNoSkip(time_in_second, framestep_in_second)
ImGuiTestEngine.SetRef
— FunctionSetRef(
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
— FunctionGetRef() -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestEngine.WindowInfo
— FunctionWindowInfo(
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
— FunctionWindowClose(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.WindowCollapse
— FunctionWindowCollapse(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
collapsed
)
ImGuiTestEngine.WindowFocus
— FunctionWindowFocus(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
WindowFocus(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.WindowBringToFront
— FunctionWindowBringToFront(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
WindowBringToFront(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.WindowMove
— FunctionWindowMove(
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
— FunctionWindowResize(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
sz::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.WindowTeleportToMakePosVisible
— FunctionWindowTeleportToMakePosVisible(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_in_window::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
) -> Bool
ImGuiTestEngine.GetWindowByRef
— FunctionGetWindowByRef(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Ptr{CImGui.lib.ImGuiWindow}
ImGuiTestEngine.PopupCloseOne
— FunctionPopupCloseOne()
ImGuiTestEngine.PopupCloseAll
— FunctionPopupCloseAll()
ImGuiTestEngine.PopupGetWindowID
— FunctionPopupGetWindowID(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> UInt32
ImGuiTestEngine.GetID
— FunctionGetID(
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
— FunctionGetPosOnVoid(
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
— FunctionGetWindowTitlebarPoint(
window_ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Any
Return a clickable point on window title-bar (window tab for docked windows).
ImGuiTestEngine.GetMainMonitorWorkPos
— FunctionGetMainMonitorWorkPos() -> 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
— FunctionGetMainMonitorWorkSize() -> Any
ImGuiTestEngine.CaptureReset
— FunctionImGuiTestEngine.CaptureSetExtension
— FunctionCaptureSetExtension(ext)
Set capture file format (otherwise for video this default to EngineIO->VideoCaptureExtension).
ImGuiTestEngine.CaptureAddWindow
— FunctionCaptureAddWindow(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
Add window to be captured (default to capture everything).
ImGuiTestEngine.CaptureScreenshotWindow
— FunctionCaptureScreenshotWindow(
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
— FunctionCaptureScreenshot(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
CaptureScreenshot() -> Bool
CaptureScreenshot(capture_flags) -> Bool
Trigger a screen capture.
ImGuiTestEngine.CaptureBeginVideo
— FunctionCaptureBeginVideo(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
ImGuiTestEngine.CaptureEndVideo
— FunctionCaptureEndVideo(
engine::ImGuiTestEngine.Engine,
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> Bool
CaptureEndVideo() -> Bool
ImGuiTestEngine.MouseMove
— FunctionMouseMove(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
MouseMove(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.MouseMoveToPos
— FunctionMouseMoveToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.MouseTeleportToPos
— FunctionMouseTeleportToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
MouseTeleportToPos(
pos::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
flags
)
ImGuiTestEngine.MouseClick
— FunctionMouseClick()
MouseClick(button)
ImGuiTestEngine.MouseClickMulti
— FunctionMouseClickMulti(button, count)
ImGuiTestEngine.MouseDoubleClick
— FunctionMouseDoubleClick()
MouseDoubleClick(button)
ImGuiTestEngine.MouseDown
— FunctionMouseDown()
MouseDown(button)
ImGuiTestEngine.MouseUp
— FunctionMouseUp()
MouseUp(button)
ImGuiTestEngine.MouseLiftDragThreshold
— FunctionMouseLiftDragThreshold()
MouseLiftDragThreshold(button)
ImGuiTestEngine.MouseDragWithDelta
— FunctionMouseDragWithDelta(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
MouseDragWithDelta(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T},
button
)
ImGuiTestEngine.MouseWheel
— FunctionMouseWheel(
delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.MouseWheelX
— FunctionMouseWheelX(dx)
ImGuiTestEngine.MouseWheelY
— FunctionMouseWheelY(dy)
ImGuiTestEngine.MouseMoveToVoid
— FunctionMouseMoveToVoid()
MouseMoveToVoid(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.MouseClickOnVoid
— FunctionMouseClickOnVoid()
MouseClickOnVoid(button)
MouseClickOnVoid(
button,
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.FindHoveredWindowAtPos
— FunctionFindHoveredWindowAtPos(
pos::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVec2}, Ref{Tuple{T, T} where T}}
) -> Ptr{CImGui.lib.ImGuiWindow}
ImGuiTestEngine.FindExistingVoidPosOnViewport
— FunctionFindExistingVoidPosOnViewport(
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
— FunctionMouseSetViewport(
window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
)
ImGuiTestEngine.MouseSetViewportID
— FunctionMouseSetViewportID(viewport_id)
ImGuiTestEngine.KeyDown
— FunctionKeyDown(key_chord)
ImGuiTestEngine.KeyUp
— FunctionKeyUp(key_chord)
ImGuiTestEngine.KeyPress
— FunctionKeyPress(key_chord)
KeyPress(key_chord, count)
ImGuiTestEngine.KeyHold
— FunctionKeyHold(key_chord, time)
ImGuiTestEngine.KeySetEx
— FunctionKeySetEx(key_chord, is_down, time)
ImGuiTestEngine.KeyChars
— FunctionImGuiTestEngine.KeyCharsAppend
— FunctionImGuiTestEngine.KeyCharsAppendEnter
— FunctionImGuiTestEngine.KeyCharsReplace
— FunctionImGuiTestEngine.KeyCharsReplaceEnter
— FunctionImGuiTestEngine.SetInputMode
— FunctionSetInputMode(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
— FunctionNavMoveTo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.NavActivate
— FunctionNavActivate()
Activate current selected item: activate button, tweak sliders/drags. Equivalent of pressing Space on keyboard, ImGuiKey_GamepadFaceUp on a gamepad.
ImGuiTestEngine.NavInput
— FunctionNavInput()
Input into select item: input sliders/drags. Equivalent of pressing Enter on keyboard, ImGuiKey_GamepadFaceDown on a gamepad.
ImGuiTestEngine.ScrollTo
— FunctionScrollTo(
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
— FunctionScrollToX(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
scroll_x
)
ImGuiTestEngine.ScrollToY
— FunctionScrollToY(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
scroll_y
)
ImGuiTestEngine.ScrollToTop
— FunctionScrollToTop(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToBottom
— FunctionScrollToBottom(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToItem
— FunctionScrollToItem(
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
— FunctionScrollToItemX(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToItemY
— FunctionScrollToItemY(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ScrollToTabItem
— FunctionScrollToTabItem(
tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
tab_id
)
ImGuiTestEngine.ScrollErrorCheck
— FunctionScrollErrorCheck(
axis::CImGui.lib.ImGuiAxis,
expected,
actual,
remaining_attempts
) -> Bool
ImGuiTestEngine.ScrollVerifyScrollMax
— FunctionScrollVerifyScrollMax(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ItemInfo
— FunctionItemInfo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ItemInfo(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.ItemInfoOpenFullPath
— FunctionItemInfoOpenFullPath(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ItemInfoOpenFullPath(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
) -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.ItemInfoHandleWildcardSearch
— FunctionItemInfoHandleWildcardSearch(
wildcard_prefix_start,
wildcard_prefix_end,
wildcard_suffix_start
) -> UInt32
ImGuiTestEngine.ItemInfoNull
— FunctionItemInfoNull() -> ImGuiTestEngine.lib.ImGuiTestItemInfo
ImGuiTestEngine.GatherItems
— FunctionGatherItems(
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
— FunctionItemAction(
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
— FunctionItemClick(
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
— FunctionItemDoubleClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemDoubleClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemCheck
— FunctionItemCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemUncheck
— FunctionItemUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemOpen
— FunctionItemOpen(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemOpen(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemClose
— FunctionItemClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemInput
— FunctionItemInput(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemInput(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemNavActivate
— FunctionItemNavActivate(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ItemNavActivate(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
flags
)
ImGuiTestEngine.ItemActionAll
— FunctionItemActionAll(
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
— FunctionItemOpenAll(
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
— FunctionItemCloseAll(
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
— FunctionItemInputValue(
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
— FunctionItemReadAsInt(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Int32
ImGuiTestEngine.ItemReadAsFloat
— FunctionItemReadAsFloat(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Float32
ImGuiTestEngine.ItemReadAsScalar
— FunctionItemReadAsScalar(
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
— FunctionItemReadAsString(
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
— FunctionItemExists(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemIsChecked
— FunctionItemIsChecked(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemIsOpened
— FunctionItemIsOpened(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Bool
ImGuiTestEngine.ItemVerifyCheckedIfAlive
— FunctionItemVerifyCheckedIfAlive(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
checked
)
ImGuiTestEngine.ItemHold
— FunctionItemHold(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
time
)
ImGuiTestEngine.ItemHoldForFrames
— FunctionItemHoldForFrames(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
frames
)
ImGuiTestEngine.ItemDragOverAndHold
— FunctionItemDragOverAndHold(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
ref_dst::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ItemDragAndDrop
— FunctionItemDragAndDrop(
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
— FunctionItemDragWithDelta(
ref_src::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
pos_delta::Union{CImGui.lib.ImVec2, Tuple{T, T} where T}
)
ImGuiTestEngine.TabClose
— FunctionTabClose(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.TabBarCompareOrder
— FunctionTabBarCompareOrder(
tab_bar::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTabBar}},
tab_order
) -> Bool
ImGuiTestEngine.MenuAction
— FunctionMenuAction(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuActionAll
— FunctionMenuActionAll(
action::ImGuiTestEngine.lib.ImGuiTestAction,
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuClick
— FunctionMenuClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuCheck
— FunctionMenuCheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuUncheck
— FunctionMenuUncheck(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuCheckAll
— FunctionMenuCheckAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.MenuUncheckAll
— FunctionMenuUncheckAll(
ref_parent::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ComboClick
— FunctionComboClick(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.ComboClickAll
— FunctionComboClickAll(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
ImGuiTestEngine.TableOpenContextMenu
— FunctionTableOpenContextMenu(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
)
TableOpenContextMenu(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
column_n
)
ImGuiTestEngine.TableClickHeader
— FunctionTableClickHeader(
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
— FunctionTableSetColumnEnabled(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
label,
enabled
)
ImGuiTestEngine.TableResizeColumn
— FunctionTableResizeColumn(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String},
column_n,
width
)
ImGuiTestEngine.TableGetSortSpecs
— FunctionTableGetSortSpecs(
ref::Union{Int64, ImGuiTestEngine.lib.ImGuiTestRef, String}
) -> Ptr{CImGui.lib.ImGuiTableSortSpecs}
ImGuiTestEngine.ViewportPlatform_SetWindowPos
— FunctionViewportPlatform_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
— FunctionViewportPlatform_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
— FunctionViewportPlatform_SetWindowFocus(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.ViewportPlatform_CloseWindow
— FunctionViewportPlatform_CloseWindow(
viewport::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiViewport}}
)
ImGuiTestEngine.DockClear
— FunctionDockClear(window_name)
ImGuiTestEngine.DockInto
— FunctionDockInto(
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
— FunctionUndockNode(dock_id)
ImGuiTestEngine.UndockWindow
— FunctionUndockWindow(window_name)
ImGuiTestEngine.WindowIsUndockedOrStandalone
— FunctionWindowIsUndockedOrStandalone(
window::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiWindow}}
) -> Bool
ImGuiTestEngine.DockIdIsUndockedOrStandalone
— FunctionDockIdIsUndockedOrStandalone(dock_id) -> Bool
ImGuiTestEngine.DockNodeHideTabBar
— FunctionDockNodeHideTabBar(
node::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiDockNode}},
hidden
)
ImGuiTestEngine.PerfCalcRef
— FunctionPerfCalcRef()
ImGuiTestEngine.PerfCapture
— FunctionPerfCapture()
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
— TypeImGuiTestRef() -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestRef(
id::Integer
) -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestRef(
path::Union{Ptr{Int8}, Ptr{Nothing}, String}
) -> ImGuiTestEngine.lib.ImGuiTestRef
ImGuiTestEngine.IsEmpty
— FunctionIsEmpty(self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog}) -> Bool
IsEmpty(self::Ptr{ImGuiTestEngine.lib.ImGuiTestRef}) -> Bool
ImGuiTestRefDesc
ImGuiTestEngine.C_str
— FunctionC_str(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestRefDesc}
) -> Ptr{Int8}
ImGuiTestEngine.ImGuiTestRefDesc
— TypeImGuiTestRefDesc(
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
— TypeImGuiTestGenericItemStatus(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
ImGuiTestEngine.QuerySet
— FunctionQuerySet(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
QuerySet(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus},
ret_val
)
ImGuiTestEngine.QueryInc
— FunctionQueryInc(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
QueryInc(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus},
ret_val
)
ImGuiTestEngine.Draw
— FunctionDraw(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestGenericItemStatus}
)
ImGuiTestItemList
ImGuiTestEngine.Reserve
— FunctionReserve(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
capacity
)
ImGuiTestEngine.GetSize
— FunctionGetSize(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Int32
ImGuiTestEngine.GetByIndex
— FunctionGetByIndex(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
n
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.GetByID
— FunctionGetByID(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList},
id
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.Size
— FunctionSize(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> UInt64
ImGuiTestEngine.Begin
— FunctionBegin(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiTestEngine.End
— FunctionEnd(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestItemList}
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}
ImGuiPerfTool
ImGuiTestEngine.ImGuiPerfTool
— TypeImGuiPerfTool() -> Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}
ImGuiTestEngine.Clear
— FunctionClear(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
— FunctionLoadCSV(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}
) -> Bool
LoadCSV(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
filename
) -> Bool
ImGuiTestEngine.AddEntry
— FunctionAddEntry(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
entry::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
)
ImGuiTestEngine.ShowPerfToolWindow
— FunctionShowPerfToolWindow(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
engine::ImGuiTestEngine.Engine,
p_open
)
ImGuiTestEngine.ViewOnly
— FunctionViewOnly(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
perf_name::Union{Ptr{Int8}, String}
)
ViewOnly(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
perf_names::Ref{Vector{String}}
)
ImGuiTestEngine.GetEntryByBatchIdx
— FunctionGetEntryByBatchIdx(
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
— FunctionSaveHtmlReport(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
file_name
) -> Bool
SaveHtmlReport(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool},
file_name,
image_file
) -> Bool
ImGuiTestEngine.Empty
— FunctionEmpty(self::Ptr{ImGuiTestEngine.lib.ImGuiPerfTool}) -> Bool
ImGuiPerfToolEntry
:
ImGuiTestEngine.ImGuiPerfToolEntry
— TypeImGuiPerfToolEntry(
rhs::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
) -> Ptr{ImGuiTestEngine.lib.ImGuiPerfToolEntry}
ImGuiTestEngine.Set
— FunctionSet(
self::Ptr{ImGuiTestEngine.lib.ImGuiPerfToolEntry},
rhs::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiPerfToolEntry}}
)
ImGuiCaptureContext
ImGuiTestEngine.ImGuiCaptureContext
— TypeImGuiCaptureContext(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
ImGuiCaptureContext(
capture_func::Ref{Nothing}
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
ImGuiTestEngine.PreNewFrame
— FunctionPreNewFrame(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.PreRender
— FunctionPreRender(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.PostRender
— FunctionPostRender(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.CaptureUpdate
— FunctionCaptureUpdate(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext},
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
) -> ImGuiTestEngine.lib.ImGuiCaptureStatus
ImGuiTestEngine.RestoreBackedUpData
— FunctionRestoreBackedUpData(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.ClearState
— FunctionClearState(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.BeginVideoCapture
— FunctionBeginVideoCapture(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext},
args::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiCaptureArgs}}
)
ImGuiTestEngine.EndVideoCapture
— FunctionEndVideoCapture(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
)
ImGuiTestEngine.IsCapturingVideo
— FunctionIsCapturingVideo(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
) -> Bool
ImGuiTestEngine.IsCapturing
— FunctionIsCapturing(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureContext}
) -> Bool
ImGuiCaptureToolUI
ImGuiTestEngine.ImGuiCaptureToolUI
— TypeImGuiCaptureToolUI(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureToolUI}
ImGuiTestEngine.ShowCaptureToolWindow
— FunctionShowCaptureToolWindow(
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
— TypeImGuiCsvParser() -> Ptr{ImGuiTestEngine.lib.ImGuiCsvParser}
ImGuiCsvParser(
columns
) -> Ptr{ImGuiTestEngine.lib.ImGuiCsvParser}
ImGuiTestEngine.Load
— FunctionLoad(
self::Ptr{ImGuiTestEngine.lib.ImGuiCsvParser},
file_name
) -> Bool
Open and parse a CSV file.
ImGuiTestEngine.GetCell
— FunctionGetCell(
self::Ptr{ImGuiTestEngine.lib.ImGuiCsvParser},
row,
col
) -> Ptr{Int8}
ImGuiTestLog
ImGuiTestEngine.ImGuiTestLog
— TypeImGuiTestLog() -> Ptr{ImGuiTestEngine.lib.ImGuiTestLog}
ImGuiTestEngine.ExtractLinesForVerboseLevels
— FunctionExtractLinesForVerboseLevels(
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
— FunctionUpdateLineOffsets(
self::Ptr{ImGuiTestEngine.lib.ImGuiTestLog},
engine_io::Union{Ptr{Nothing}, Ref{ImGuiTestEngine.lib.ImGuiTestEngineIO}},
level::ImGuiTestEngine.lib.ImGuiTestVerboseLevel,
start
)
ImGuiTestEngine.Destroy
— FunctionDestructor 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
— FunctionImHashDecoratedPath(str) -> UInt32
ImHashDecoratedPath(str, str_end) -> UInt32
ImHashDecoratedPath(str, str_end, seed) -> UInt32
ImGuiTestEngine.ImFindNextDecoratedPartInPath
— FunctionImFindNextDecoratedPartInPath(str) -> Ptr{Int8}
ImFindNextDecoratedPartInPath(str, str_end) -> Ptr{Int8}
ImGuiTestEngine.ImFileExist
— FunctionImFileExist(filename) -> Bool
ImGuiTestEngine.ImFileDelete
— FunctionImFileDelete(filename) -> Bool
ImGuiTestEngine.ImFileCreateDirectoryChain
— FunctionImFileCreateDirectoryChain(path) -> Bool
ImFileCreateDirectoryChain(path, path_end) -> Bool
ImGuiTestEngine.ImFileFindInParents
— FunctionImFileFindInParents(
sub_path,
max_parent_count,
output
) -> Bool
ImGuiTestEngine.ImFileLoadSourceBlurb
— FunctionImFileLoadSourceBlurb(
filename,
line_no_start,
line_no_end,
out_buf::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiTextBuffer}}
) -> Bool
ImGuiTestEngine.ImGuiCaptureImageBuf
— TypeImGuiCaptureImageBuf(
) -> Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf}
ImGuiTestEngine.ImPathFindFilename
— FunctionImPathFindFilename(path) -> Ptr{Int8}
ImPathFindFilename(path, path_end) -> Ptr{Int8}
Return value always between path and path_end.
ImGuiTestEngine.ImPathFindExtension
— FunctionImPathFindExtension(path) -> Ptr{Int8}
ImPathFindExtension(path, path_end) -> Ptr{Int8}
Return value always between path and path_end.
ImGuiTestEngine.ImPathFixSeparatorsForCurrentOS
— FunctionImPathFixSeparatorsForCurrentOS(buf)
ImGuiTestEngine.CreateEmpty
— FunctionCreateEmpty(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf},
w,
h
)
Reallocate buffer for pixel data and zero it.
ImGuiTestEngine.SaveFile
— FunctionSaveFile(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf},
filename
) -> Bool
Save pixel data to specified image file.
ImGuiTestEngine.RemoveAlpha
— FunctionRemoveAlpha(
self::Ptr{ImGuiTestEngine.lib.ImGuiCaptureImageBuf}
)
Clear alpha channel from all pixels.
ImGuiTestEngine.ImStrReplace
— FunctionImStrReplace(s, find, repl)
ImGuiTestEngine.ImStrchrRangeWithEscaping
— FunctionImStrchrRangeWithEscaping(str, str_end, find_c) -> Ptr{Int8}
ImGuiTestEngine.ImStrXmlEscape
— FunctionImStrXmlEscape(s)
ImGuiTestEngine.ImStrBase64Encode
— FunctionImStrBase64Encode(src, dst, length) -> Int32
ImGuiTestEngine.ImParseExtractArgcArgvFromCommandLine
— FunctionImParseExtractArgcArgvFromCommandLine(
out_argc,
out_argv,
cmd_line
)
ImGuiTestEngine.ImParseFindIniSection
— FunctionImParseFindIniSection(
ini_config,
header,
result::Union{Ptr{Nothing}, Ref{CImGui.lib.ImVector_char}}
) -> Bool
ImGuiTestEngine.ImTimeGetInMicroseconds
— FunctionImTimeGetInMicroseconds() -> UInt64
ImGuiTestEngine.ImTimestampToISO8601
— FunctionImTimestampToISO8601(timestamp, out_date)
ImGuiTestEngine.ImThreadSleepInMilliseconds
— FunctionImThreadSleepInMilliseconds(ms)
ImGuiTestEngine.ImThreadSetCurrentThreadDescription
— FunctionImThreadSetCurrentThreadDescription(description)
ImGuiTestEngine.ImBuildGetCompilationInfo
— FunctionImBuildGetCompilationInfo(
) -> Ptr{ImGuiTestEngine.lib.ImBuildInfo}
ImGuiTestEngine.ImBuildFindGitBranchName
— FunctionImBuildFindGitBranchName(git_repo_path, branch_name) -> Bool
ImGuiTestEngine.ImOsCreateProcess
— FunctionImOsCreateProcess(cmd_line) -> Bool
ImGuiTestEngine.ImOsPOpen
— FunctionImOsPOpen(cmd_line, mode) -> Ptr{Base.Libc.FILE}
ImGuiTestEngine.ImOsPClose
— FunctionImOsPClose(fp)
ImGuiTestEngine.ImOsOpenInShell
— FunctionImOsOpenInShell(path)
ImGuiTestEngine.ImOsIsDebuggerPresent
— FunctionImOsIsDebuggerPresent() -> Bool
ImGuiTestEngine.ImOsOutputDebugString
— FunctionImOsOutputDebugString(message)
ImGuiTestEngine.ImOsConsoleSetTextColor
— FunctionImOsConsoleSetTextColor(
stream::ImGuiTestEngine.lib.ImOsConsoleStream,
color::ImGuiTestEngine.lib.ImOsConsoleTextColor
)
ImGuiTestEngine.TableGetHeaderID
— FunctionTableGetHeaderID(
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
— FunctionTableDiscardInstanceAndSettings(table_id)
ImGuiTestEngine.DrawDataVerifyMatchingBufferCount
— FunctionDrawDataVerifyMatchingBufferCount(
draw_data::Union{Ptr{Nothing}, Ref{CImGui.lib.ImDrawData}}
)
ImGuiTestEngine.PerfToolAppendToCSV
— FunctionPerfToolAppendToCSV(
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
— TypeImGuiTestActionFilter(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestActionFilter}
ImGuiTestEngine.ImGuiTestEngineHook_ItemAdd
— FunctionImGuiTestEngineHook_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
— FunctionImGuiTestEngineHook_ItemInfo(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
id,
label,
flags
)
ImGuiTestEngine.ImGuiTestEngineHook_Log
— FunctionImGuiTestEngineHook_Log(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
fmt
)
ImGuiTestEngine.FindItemDebugLabel
— FunctionFindItemDebugLabel(
ui_ctx::Union{Ptr{Nothing}, Ref{CImGui.lib.ImGuiContext}},
id
) -> Ptr{Int8}
ImGuiTestEngine.Check
— FunctionCheck(file, func, line, flags, result, expr) -> Bool
ImGuiTestEngine.CheckStrOp
— FunctionCheckStrOp(
file,
func,
line,
flags,
op,
lhs_var,
lhs_value,
rhs_var,
rhs_value,
out_result
) -> Bool
ImGuiTestEngine.Error
— FunctionError(file, func, line, flags, fmt) -> Bool
ImGuiTestEngine.AssertLog
— FunctionAssertLog(expr, file, _function, line)
ImGuiTestEngine.GetTempStringBuilder
— FunctionGetTempStringBuilder() -> Ptr{CImGui.lib.ImGuiTextBuffer}
ImGuiTestEngine.ImGuiTestGenericVars
— TypeImGuiTestGenericVars(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestGenericVars}
ImGuiTestEngine.InstallDefaultCrashHandler
— FunctionImGuiTestEngine.CrashHandler
— FunctionCrashHandler()
Default crash handler, should be called from a custom crash handler if such exists.
ImGuiTestEngine.ImGuiTestItemInfo
— TypeImGuiTestItemInfo(
) -> Ptr{ImGuiTestEngine.lib.ImGuiTestItemInfo}