From 60d53d239b2ff7d245d74c8ab3dc204bf60d00b2 Mon Sep 17 00:00:00 2001 From: PGZXB Date: Wed, 31 Jul 2024 23:20:02 +0800 Subject: [PATCH] Add uncovered structs to imgui_structs.md --- docs/imgui_structs.md | 18 +++++++++++++++++- generator/src/main.cj | 1 + generator/src/utils.cj | 8 ++++++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/imgui_structs.md b/docs/imgui_structs.md index 521cf39..11703d1 100644 --- a/docs/imgui_structs.md +++ b/docs/imgui_structs.md @@ -3356,4 +3356,20 @@ #### functions: ## Uncovered Structs - +These structs don't have a wrapper class; instead, they are typedef'd as `Unit`, which allows their pointers (`CPointer`) to be used as function parameters/return but prevents direct access to their members. + +* `ImFontGlyph` +* `ImGuiContext` +* `ImGuiDockNode` +* `ImGuiDockNodeSettings` +* `ImGuiDockRequest` +* `ImGuiInputEvent` +* `ImGuiInputTextDeactivateData` +* `ImGuiStackLevelInfo` +* `ImGuiStoragePair` +* `ImGuiStyleMod` +* `ImGuiTable` +* `ImGuiTableColumn` +* `ImGuiTableColumnSettings` +* `ImGuiTableColumnsSettings` +* `ImGuiWindow` diff --git a/generator/src/main.cj b/generator/src/main.cj index 315fed1..897e597 100644 --- a/generator/src/main.cj +++ b/generator/src/main.cj @@ -127,6 +127,7 @@ main(args: Array): Int64 { case StructType(name) => if (!definedStructNames.contains(name)) { undefStructTypedefs.append(TypeDef(alias, "void")) typeAlias.put(alias, UnitType) + apiInfo.addUncoveredStruct(name) } case _ => continue } diff --git a/generator/src/utils.cj b/generator/src/utils.cj index ff5f629..48ad1aa 100644 --- a/generator/src/utils.cj +++ b/generator/src/utils.cj @@ -811,8 +811,8 @@ class APIInfo { } } - func addUncoveredStruct(fn: String) { - uncoveredStructs.append(fn) + func addUncoveredStruct(structName: String) { + uncoveredStructs.append(structName) } func generateDocumentForGlobalFunctions(os: StringWriter) where T <: OutputStream { @@ -926,6 +926,10 @@ class APIInfo { } os.writeln() os.writeln("## Uncovered Structs") + os.writeln( + "These structs don't have a wrapper class; instead, they are typedef'd as `Unit`, " + + "which allows their pointers (`CPointer`) to be used as function parameters/return " + + "but prevents direct access to their members.") os.writeln() for (s in uncoveredStructs) { os.writeln("* `${s}`")