Marshal

imguicpp.Marshal (Class)

cpp-target scratch storage used by the generated portable facade (imgui.ImGui). All scratch lives in unmanaged (malloc'd) memory so no hxcpp GC interaction can ever invalidate a pointer mid-call, and nothing here allocates garbage per frame.

NOT thread-safe - but neither is Dear ImGui (single context, main thread).

Private Members






dynFloatsCap: Int


strBufSize: Int

loadFloats(dst: cpp.RawPointer<cpp.Float32>, src: Array<Float>, n: Int): Void
Name Type
dst cpp.RawPointer<cpp.Float32>
src Array<Float>
n Int

storeFloats(src: cpp.RawPointer<cpp.Float32>, dst: Array<Float>, n: Int): Void
Name Type
src cpp.RawPointer<cpp.Float32>
dst Array<Float>
n Int

loadInts(dst: cpp.RawPointer<Int>, src: Array<Int>, n: Int): Void
Name Type
dst cpp.RawPointer<Int>
src Array<Int>
n Int

storeInts(src: cpp.RawPointer<Int>, dst: Array<Int>, n: Int): Void
Name Type
src cpp.RawPointer<Int>
dst Array<Int>
n Int

floatsDyn(values: Array<Float>): cpp.RawPointer<cpp.Float32>
Name Type
values Array<Float>
Returns
cpp.RawPointer<cpp.Float32>

strScratch(s: String, maxLength: Int): cpp.Star

Copy the UTF-8 bytes of s (clamped to maxLength BYTES, on a codepoint boundary) into the scratch buffer and return it, zero-terminated.

Name Type
s String
maxLength Int
Returns
cpp.Star

strChanged(original: String): Bool

Whether the scratch buffer content differs from original (no allocation).

Name Type
original String
Returns
Bool

strRead(): String

The scratch buffer content as a Haxe String (allocates - call only on change).

Returns
String

Metadata

Name Parameters
:allow imgui.ImGui