├── .gitattributes ├── Runtime ├── ImGui.NET │ ├── Pair.cs.meta │ ├── Util.cs.meta │ ├── Delegates.cs.meta │ ├── ImVector.cs.meta │ ├── ImGui.Manual.cs.meta │ ├── RangeAccessor.cs.meta │ ├── Generated │ │ ├── ImGui.gen.cs.meta │ │ ├── ImColor.gen.cs.meta │ │ ├── ImDrawCmd.gen.cs.meta │ │ ├── ImDrawData.gen.cs.meta │ │ ├── ImDrawList.gen.cs.meta │ │ ├── ImDrawVert.gen.cs.meta │ │ ├── ImFont.gen.cs.meta │ │ ├── ImGuiCol.gen.cs.meta │ │ ├── ImGuiCond.gen.cs.meta │ │ ├── ImGuiDir.gen.cs.meta │ │ ├── ImGuiIO.gen.cs.meta │ │ ├── ImGuiKey.gen.cs.meta │ │ ├── ImGuiStyle.gen.cs.meta │ │ ├── ImDrawChannel.gen.cs.meta │ │ ├── ImDrawCmdHeader.gen.cs.meta │ │ ├── ImDrawFlags.gen.cs.meta │ │ ├── ImDrawListFlags.gen.cs.meta │ │ ├── ImFontAtlas.gen.cs.meta │ │ ├── ImFontConfig.gen.cs.meta │ │ ├── ImFontGlyph.gen.cs.meta │ │ ├── ImGuiChildFlags.gen.cs.meta │ │ ├── ImGuiComboFlags.gen.cs.meta │ │ ├── ImGuiDataType.gen.cs.meta │ │ ├── ImGuiInputFlags.gen.cs.meta │ │ ├── ImGuiItemFlags.gen.cs.meta │ │ ├── ImGuiKeyData.gen.cs.meta │ │ ├── ImGuiNative.gen.cs.meta │ │ ├── ImGuiPayload.gen.cs.meta │ │ ├── ImGuiPlatformIO.gen.cs.meta │ │ ├── ImGuiPopupFlags.gen.cs.meta │ │ ├── ImGuiStorage.gen.cs.meta │ │ ├── ImGuiStyleVar.gen.cs.meta │ │ ├── ImGuiTableFlags.gen.cs.meta │ │ ├── ImGuiTextBuffer.gen.cs.meta │ │ ├── ImGuiTextFilter.gen.cs.meta │ │ ├── ImGuiTextRange.gen.cs.meta │ │ ├── ImGuiViewport.gen.cs.meta │ │ ├── StbTexteditRow.gen.cs.meta │ │ ├── StbUndoRecord.gen.cs.meta │ │ ├── StbUndoState.gen.cs.meta │ │ ├── ImDrawListSplitter.gen.cs.meta │ │ ├── ImFontAtlasFlags.gen.cs.meta │ │ ├── ImGuiBackendFlags.gen.cs.meta │ │ ├── ImGuiButtonFlags.gen.cs.meta │ │ ├── ImGuiColorEditFlags.gen.cs.meta │ │ ├── ImGuiConfigFlags.gen.cs.meta │ │ ├── ImGuiDockNodeFlags.gen.cs.meta │ │ ├── ImGuiDragDropFlags.gen.cs.meta │ │ ├── ImGuiFocusedFlags.gen.cs.meta │ │ ├── ImGuiHoveredFlags.gen.cs.meta │ │ ├── ImGuiInputTextFlags.gen.cs.meta │ │ ├── ImGuiListClipper.gen.cs.meta │ │ ├── ImGuiMouseButton.gen.cs.meta │ │ ├── ImGuiMouseCursor.gen.cs.meta │ │ ├── ImGuiMouseSource.gen.cs.meta │ │ ├── ImGuiMultiSelectIO.gen.cs.meta │ │ ├── ImGuiOnceUponAFrame.gen.cs.meta │ │ ├── ImGuiPlatformImeData.gen.cs.meta │ │ ├── ImGuiPlatformMonitor.gen.cs.meta │ │ ├── ImGuiSelectableFlags.gen.cs.meta │ │ ├── ImGuiSliderFlags.gen.cs.meta │ │ ├── ImGuiSortDirection.gen.cs.meta │ │ ├── ImGuiTabBarFlags.gen.cs.meta │ │ ├── ImGuiTabItemFlags.gen.cs.meta │ │ ├── ImGuiTableBgTarget.gen.cs.meta │ │ ├── ImGuiTableRowFlags.gen.cs.meta │ │ ├── ImGuiTableSortSpecs.gen.cs.meta │ │ ├── ImGuiTreeNodeFlags.gen.cs.meta │ │ ├── ImGuiViewportFlags.gen.cs.meta │ │ ├── ImGuiWindowClass.gen.cs.meta │ │ ├── ImGuiWindowFlags.gen.cs.meta │ │ ├── STB_TexteditState.gen.cs.meta │ │ ├── ImFontAtlasCustomRect.gen.cs.meta │ │ ├── ImFontGlyphRangesBuilder.gen.cs.meta │ │ ├── ImGuiMultiSelectFlags.gen.cs.meta │ │ ├── ImGuiSelectionRequest.gen.cs.meta │ │ ├── ImGuiSelectionRequestType.gen.cs.meta │ │ ├── ImGuiSizeCallbackData.gen.cs.meta │ │ ├── ImGuiTableColumnFlags.gen.cs.meta │ │ ├── ImGuiTableColumnSortSpecs.gen.cs.meta │ │ ├── ImGuiInputTextCallbackData.gen.cs.meta │ │ ├── ImGuiSelectionBasicStorage.gen.cs.meta │ │ ├── ImGuiSelectionExternalStorage.gen.cs.meta │ │ ├── ImGuiTableRowFlags.gen.cs │ │ ├── ImGuiSortDirection.gen.cs │ │ ├── ImGuiSelectionRequestType.gen.cs │ │ ├── ImGuiMouseButton.gen.cs │ │ ├── ImGuiMouseSource.gen.cs │ │ ├── ImGuiTableBgTarget.gen.cs │ │ ├── ImGuiCond.gen.cs │ │ ├── ImGuiDir.gen.cs │ │ ├── ImFontAtlasFlags.gen.cs │ │ ├── ImDrawListFlags.gen.cs │ │ ├── ImGuiButtonFlags.gen.cs │ │ ├── ImGuiItemFlags.gen.cs │ │ ├── ImGuiFocusedFlags.gen.cs │ │ ├── ImGuiSliderFlags.gen.cs │ │ ├── ImGuiSelectableFlags.gen.cs │ │ ├── ImGuiDataType.gen.cs │ │ ├── ImGuiDockNodeFlags.gen.cs │ │ ├── ImGuiMouseCursor.gen.cs │ │ ├── ImGuiBackendFlags.gen.cs │ │ ├── ImGuiChildFlags.gen.cs │ │ ├── ImGuiComboFlags.gen.cs │ │ ├── ImGuiTabItemFlags.gen.cs │ │ ├── ImGuiInputFlags.gen.cs │ │ ├── ImGuiPopupFlags.gen.cs │ │ ├── ImGuiTabBarFlags.gen.cs │ │ ├── ImGuiViewportFlags.gen.cs │ │ ├── ImGuiConfigFlags.gen.cs │ │ ├── ImDrawFlags.gen.cs │ │ ├── ImGuiDragDropFlags.gen.cs │ │ ├── ImGuiMultiSelectFlags.gen.cs │ │ ├── ImGuiTreeNodeFlags.gen.cs │ │ ├── ImGuiHoveredFlags.gen.cs │ │ ├── ImGuiInputTextFlags.gen.cs │ │ ├── ImGuiTableColumnFlags.gen.cs │ │ ├── ImGuiColorEditFlags.gen.cs │ │ ├── ImGuiWindowFlags.gen.cs │ │ ├── ImDrawVert.gen.cs │ │ ├── ImDrawChannel.gen.cs │ │ ├── ImGuiOnceUponAFrame.gen.cs │ │ ├── ImDrawCmdHeader.gen.cs │ │ ├── ImGuiStyleVar.gen.cs │ │ ├── StbUndoRecord.gen.cs │ │ ├── ImGuiKeyData.gen.cs │ │ ├── ImGuiTableFlags.gen.cs │ │ ├── ImGuiTableSortSpecs.gen.cs │ │ ├── ImGuiSizeCallbackData.gen.cs │ │ ├── ImGuiPlatformImeData.gen.cs │ │ ├── StbTexteditRow.gen.cs │ │ ├── ImGuiSelectionRequest.gen.cs │ │ ├── ImGuiTextRange.gen.cs │ │ ├── ImGuiTableColumnSortSpecs.gen.cs │ │ ├── ImGuiMultiSelectIO.gen.cs │ │ ├── ImGuiSelectionExternalStorage.gen.cs │ │ ├── ImColor.gen.cs │ │ ├── ImGuiPlatformMonitor.gen.cs │ │ ├── ImGuiCol.gen.cs │ │ ├── ImDrawCmd.gen.cs │ │ ├── ImFontGlyph.gen.cs │ │ ├── ImFontAtlasCustomRect.gen.cs │ │ ├── ImGuiWindowClass.gen.cs │ │ ├── ImDrawListSplitter.gen.cs │ │ ├── STB_TexteditState.gen.cs │ │ ├── ImDrawData.gen.cs │ │ ├── ImGuiListClipper.gen.cs │ │ ├── ImFontConfig.gen.cs │ │ ├── ImGuiViewport.gen.cs │ │ └── ImGuiSelectionBasicStorage.gen.cs │ ├── ImGuiNative.Manual.cs.meta │ ├── ImGuiSizeCallback.cs.meta │ ├── ImGuiModFlags.Manual.cs.meta │ ├── ImGuiTextEditCallback.cs.meta │ ├── NullTerminatedString.cs.meta │ ├── ImGui.Manual.ReadOnlySpan.cs.meta │ ├── ImGuiSizeCallback.cs │ ├── Generated.meta │ ├── ImGuiModFlags.Manual.cs │ ├── ImGuiTextEditCallback.cs │ ├── ImGuiNative.Manual.cs │ ├── NullTerminatedString.cs │ ├── Pair.cs │ ├── Delegates.cs │ ├── RangeAccessor.cs │ ├── ImVector.cs │ └── Util.cs ├── UBImGui │ ├── Assets.meta │ ├── Data.meta │ ├── Utils.meta │ ├── Handler.meta │ ├── Renderer.meta │ ├── Data │ │ ├── FontSettings.cs.meta │ │ ├── ImGuiTextures.cs.meta │ │ ├── DearImGuiIOConfig.cs.meta │ │ ├── CommandBufferWrapper.cs.meta │ │ ├── FontSettings.cs │ │ └── CommandBufferWrapper.cs │ ├── ImGuiBehaviour.cs.meta │ ├── ImGuiController.cs.meta │ ├── Utils │ │ ├── AssemblyInfo.cs │ │ ├── AssemblyInfo.cs.meta │ │ ├── ImGui.Extras.cs.meta │ │ ├── ImGuiIOPtr.Extra.cs.meta │ │ ├── TwoWayDictionary.cs.meta │ │ ├── IntPtrEqualityComparer.cs.meta │ │ ├── IntPtrEqualityComparer.cs │ │ ├── ImGuiIOPtr.Extra.cs │ │ ├── TwoWayDictionary.cs │ │ └── ImGui.Extras.cs │ ├── Assets │ │ ├── ImGuiCursorAsset.cs.meta │ │ ├── ImGuiFontAsset.cs.meta │ │ ├── ImGuiStyleAsset.cs.meta │ │ ├── UBImGuiSettings.cs.meta │ │ ├── UBImGuiSettingsPersistent.cs.meta │ │ ├── ImGuiFontAsset.cs │ │ ├── UBImGuiSettings.cs │ │ ├── ImGuiCursorAsset.cs │ │ └── UBImGuiSettingsPersistent.cs │ ├── Handler │ │ ├── IInputHandler.cs.meta │ │ ├── ClipboardHandler.cs.meta │ │ ├── InputManagerHandler.cs.meta │ │ ├── InputSystemHandler.cs.meta │ │ ├── IInputHandler.cs │ │ └── ClipboardHandler.cs │ └── Renderer │ │ ├── HDRPRenderPass.cs.meta │ │ ├── IImGuiRenderer.cs.meta │ │ ├── URPRenderPass.cs.meta │ │ ├── GraphicsBufferRenderer.cs.meta │ │ ├── IImGuiRenderer.cs │ │ ├── HDRPRenderPass.cs │ │ └── URPRenderPass.cs ├── plugins │ ├── cimgui │ │ ├── Linux │ │ │ ├── cimgui.so │ │ │ └── cimgui.so.meta │ │ ├── Mac │ │ │ ├── cimgui.dylib │ │ │ └── cimgui.dylib.meta │ │ ├── win-x64 │ │ │ ├── cimgui.dll │ │ │ └── cimgui.dll.meta │ │ ├── win-x86 │ │ │ ├── cimgui.dll │ │ │ └── cimgui.dll.meta │ │ ├── android-arm64 │ │ │ ├── cimgui.so │ │ │ └── cimgui.so.meta │ │ ├── android-armv7 │ │ │ ├── cimgui.so │ │ │ └── cimgui.so.meta │ │ ├── Linux.meta │ │ ├── Mac.meta │ │ ├── win-x64.meta │ │ ├── win-x86.meta │ │ ├── android-arm64.meta │ │ └── android-armv7.meta │ ├── System.Runtime.CompilerServices.Unsafe.dll │ ├── cimgui.meta │ └── System.Runtime.CompilerServices.Unsafe.dll.meta ├── UBImGui.asmdef.meta ├── ImGui.NET.meta ├── UBImGui.meta ├── plugins.meta └── UBImGui.asmdef ├── Editor.meta ├── Resources.meta ├── Editor ├── Editors.meta ├── Generator.meta ├── Settings.meta ├── Editors │ ├── FontSettingsDrawer.cs.meta │ ├── StyleAssetEditor.cs.meta │ ├── StyleAssetEditor.cs │ └── FontSettingsDrawer.cs ├── Generator │ └── SystemNumericsReplacer.cs.meta ├── Settings │ └── UBImGuiSettingsProvider.cs.meta ├── UBImGui.Editor.asmdef.meta └── UBImGui.Editor.asmdef ├── CHANGELOG.md ├── Resources ├── DearImGui.shader.meta ├── Settings.meta └── Settings │ ├── DEFAULT Settings.asset.meta │ ├── DEFAULT Style.asset.meta │ ├── UBImGui Settings Persister.asset.meta │ ├── UBImGui Settings Persister.asset │ └── DEFAULT Settings.asset ├── Documentation ├── Sources │ ├── DemoWindow.png │ └── SimpleWindow.png └── Sources.meta ├── Samples ├── Demo Window │ ├── DemoWindow.cs.meta │ ├── Demo Window.unity.meta │ ├── UBImGui (Demo Window).prefab.meta │ ├── DemoWindow.cs │ └── UBImGui (Demo Window).prefab ├── Demo Window.meta ├── Simple Console.meta ├── Simple Console │ ├── Simple Console.unity.meta │ ├── SimpleConsole.cs.meta │ └── SimpleConsole.cs ├── Simple Window.meta └── Simple Window │ ├── Simple Window.unity.meta │ ├── SimpleWindow.cs.meta │ └── SimpleWindow.cs ├── CHANGELOG.md.meta ├── LICENSE.md.meta ├── README.md.meta ├── package.json.meta ├── Runtime.meta ├── Samples.meta ├── Documentation.meta ├── LICENSE.md ├── package.json └── .gitignore /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Pair.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1feb730f9aa58343924477b65d3292e -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Util.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49329a98c69d4f34c9e9f74c36c24ebd -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Delegates.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1d8d83e212b9b547ae9a927a4e99b13 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImVector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d369325e5ca7ed54cb259a1d71287e07 -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a997cbbf9fc945b08025328cc08df0e7 3 | timeCreated: 1728060516 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGui.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 558c6002864a60a42b60178c5bb598e8 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/RangeAccessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f2c3cadb3effd24a8f1ecaaf53bc4bf -------------------------------------------------------------------------------- /Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72707c20a1db4c8c8eac136c560fafa0 3 | timeCreated: 1728146957 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGui.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6d3d3b6b71abf542bb5e41a813dda36 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiNative.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9110d64394bd6884eafbf25d3aef48b6 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiSizeCallback.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f8a55d6473df4c449cce1b827170bcb -------------------------------------------------------------------------------- /Editor/Editors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4dd5037c365428294a49e0d3f7e3c2e 3 | timeCreated: 1728318713 -------------------------------------------------------------------------------- /Editor/Generator.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 516494da1e724483b0b35066471eeed1 3 | timeCreated: 1728060523 -------------------------------------------------------------------------------- /Editor/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d18c3d49aaa458a87a3a91345db5904 3 | timeCreated: 1728243215 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImColor.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 887e5b4533dba814bacf7112cbf59f82 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawCmd.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f460efd76a6fc6444a168293b4ceb58e -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1053db1fe6883f549b0067921db063d0 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawList.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b3bdf3a07b79884c906c9a335df1e6c -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawVert.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ab3621155b7c3b49ad90f2dc21f8823 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFont.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 612a534ab07a01e4dbfd39fbc6f961d0 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiCol.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0611c9bdc1c182741962825b43d7b110 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiCond.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f6241f47ea157340918ad1ed536f8a0 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDir.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cd97a04894ff9b4b8aed911526ac3dd -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiIO.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03453ce7f13b7124cab74a6e90222603 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiKey.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6cfc4a5f87ad77544806f9da43630b3a -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiStyle.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9891145cd980d9448595c977b0e84e7 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiModFlags.Manual.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68abea0b4602f8a42b4ec6f07eb5179f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiTextEditCallback.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e594fa046fdf24441b5f4f07492c749b -------------------------------------------------------------------------------- /Runtime/ImGui.NET/NullTerminatedString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f377d04142db36b40a0587ab328ca95e -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [0.0.1] - 2024-10-4 4 | This is the first release of *UBImGui*. 5 | 6 | ### Added -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawChannel.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fae54fd2a6bb4c044b977f93f891edfc -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawCmdHeader.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6375915c4a4df948b1265f5f3d90332 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa9f1d9acf5c1c74591409da1f067fe1 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawListFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65954233b6f8ba24ea689b9b36310974 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontAtlas.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f28751f3b14b7d7468891fc8e26b49ad -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontConfig.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f98f64450cd53140af8943ed0eb716f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontGlyph.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 739ca69e86a4bba4bb2eab90b13b5ea8 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiChildFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83d6b6f593a1ed1458dfd78d5757f0e6 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiComboFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c1596b076ca298409c208905a2d00e4 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDataType.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4a439ae3461a6a4385ee7736c6a2a95 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiInputFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53cad2270e86ed5498f6a0c1d1f748dd -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiItemFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63e1245f628be3243b037fcbe78b24fe -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiKeyData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6ab07fbf5d38354f8b96663a9f728c9 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiNative.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 945442a5bc82df64e8a574249a29e41e -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPayload.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01832af32e636c3499dd8d68537ccd5c -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPlatformIO.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 836f8d800b558f143a5440d1deff7a8f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPopupFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fdfb14cc838cab438d46a6fb946d4b8 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiStorage.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e0590d54b1a36e48b3a3b27fcce1992 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiStyleVar.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c09e01fc178183f4d9b7a92a5ded5685 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 213d0f326a2609544b6ee7156dc854db -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTextBuffer.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a3f932f668a8d54ba7bd716c04183dc -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTextFilter.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de8bcafd2917cd041ad689819f6871a4 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTextRange.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d8a81c5e0a5235439a417b02bfce283 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiViewport.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3df01f544dbfcfc448f25eadafff3e46 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/StbTexteditRow.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d71d40107bb6ffb43b08310cdf1005a1 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/StbUndoRecord.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef3eaa7677deb754aa4a0d488092d55b -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/StbUndoState.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb66d90d42a6afa4ca64f7b7f44552b9 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGui.Manual.ReadOnlySpan.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09915b3580039654f8a5499d784faafa -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c74228939f84229b34993ec11933b30 3 | timeCreated: 1728239910 -------------------------------------------------------------------------------- /Runtime/UBImGui/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71597944aa214ec7b5674fa6edcc82e7 3 | timeCreated: 1728064330 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db1f993f7598421e8fa4b3735ae02f87 3 | timeCreated: 1728063401 -------------------------------------------------------------------------------- /Resources/DearImGui.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de873524d4cf4ddb9be8ddd539c55aa8 3 | timeCreated: 1728146971 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawListSplitter.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2e679564ab11e848bef24274354e394 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c488e12974621574c9c7f55b5833812f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fdc41f364898a86419ae6bf0fd9b4044 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiButtonFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 626c0aa16225a9143a72266adce4bd44 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5daaa4eaae0299246aa6b92e8cc18eb5 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a200ef5ae41547d45bbffa60e5b1f8df -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDockNodeFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1da95733e981f0847a9219dc98a662ca -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e367626c60855bf4cad0e040905bbf36 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 256a9cfe96c5f4147a426f357abbe06d -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b81a75deb5402f442a23bf4b8aba1b1f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 930e6dd0422e2f941b8dfbbb95dda2c7 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiListClipper.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1943241d21ec6064ba3d5ed21fa17e1d -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseButton.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0e9e1deb72a00b44a1a943f7eb287cc -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29a9b31c0d61410458bf91ed8d587c4d -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseSource.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 052411cd6949a0747810f289ead5a6fc -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMultiSelectIO.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 303e745498a3dad4f87da9129ada9ba3 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 419c48c7a6bd8f946a8806bbc950fc8e -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPlatformImeData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c894cab102730ac4fb8a29dea8d0247d -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPlatformMonitor.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4bac4788a06c0740b08c1ac9f8329a6 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0029ac76dbf1cd46bdd2226a3aab8b9 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSliderFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f307d7ac1659954db3779277372f46b -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSortDirection.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e75cadfe82ed7ba409517affa0feb2e6 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae8758ac180cf3f4dbfc389e9c9edd26 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4de27ec195f07164bb028e0e494ab5fd -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableBgTarget.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25ece0efeda29744c9074745f217a3a5 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableRowFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95846d8619b3ae1438470ca0c118386b -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableSortSpecs.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52190da58d8131949b4c8fc5062ea49d -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e47adf3e3888744f949e7c158e623ce -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiViewportFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8ee9cf6e86cfb44f9435ac767133af7 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiWindowClass.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a658b23c8fb8a5545adbb5522f7b3e51 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a62d50b790545af4caa573f96c0cd38b -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/STB_TexteditState.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f5af00b3e7136a45aa6ec902fb68696 -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9965e62223ef45a8b3f769a6a90f2166 3 | timeCreated: 1728064449 -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fad251f7a623459581c1118e9dfe3ddd 3 | timeCreated: 1728141087 -------------------------------------------------------------------------------- /Documentation/Sources/DemoWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Documentation/Sources/DemoWindow.png -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 315bdb42d0571a242b31813b556f93e3 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad33090aa7d6a2247863cfcb1139a5ef -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMultiSelectFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 484bb565f687c084cb573af1a78eeae1 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionRequest.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a09fc100d0363d41864eaa6be3a2632 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionRequestType.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cd0fb9e35fd3474ab584145a5c88c91 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6eeba505ef2f4e47973ff089582e45f -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d7a9cdf71ad5474caaa16bafd2968f0 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableColumnSortSpecs.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38a8263a11c00ec48827e6d5cf30b491 -------------------------------------------------------------------------------- /Documentation/Sources/SimpleWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Documentation/Sources/SimpleWindow.png -------------------------------------------------------------------------------- /Editor/Editors/FontSettingsDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5deae31ca61b4b909236031677792a2c 3 | timeCreated: 1728394198 -------------------------------------------------------------------------------- /Editor/Editors/StyleAssetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cadd725ed7b34ad5b35e2c6280ae16c9 3 | timeCreated: 1728318732 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiInputTextCallbackData.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78e7350931792bb4cad000296c33d380 -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionBasicStorage.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83ab9c0ea6d218047a1a3d5a9f18d4de -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionExternalStorage.gen.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f533743ca55cd8643843b3f530d3125a -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/FontSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 158bde96623a4f5ba0cb80e00869bfdc 3 | timeCreated: 1728392518 -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/ImGuiTextures.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40ef5ee5a4b840989140138248446dae 3 | timeCreated: 1728144246 -------------------------------------------------------------------------------- /Runtime/UBImGui/ImGuiBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c739eda00d74b4393bb59971e03f0d8 3 | timeCreated: 1728063378 -------------------------------------------------------------------------------- /Runtime/UBImGui/ImGuiController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa3d5634830d4a248e9af159a953e374 3 | timeCreated: 1728063193 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly:InternalsVisibleTo("UBImGui.Editor")] -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1556eed9f3f748959b21ea02c7a52976 3 | timeCreated: 1728244153 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/ImGui.Extras.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e1018ecf8914a2da0c1ccf73d1dfca8 3 | timeCreated: 1728233642 -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Linux/cimgui.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/Linux/cimgui.so -------------------------------------------------------------------------------- /Samples/Demo Window/DemoWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62a2a7e47e198a94c980135733743019 3 | timeCreated: 1728663809 -------------------------------------------------------------------------------- /Editor/Generator/SystemNumericsReplacer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 276632d991e841d1b610ef9d1aa95606 3 | timeCreated: 1728060582 -------------------------------------------------------------------------------- /Editor/Settings/UBImGuiSettingsProvider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf37fc2c586e4059a63a775368a0ee12 3 | timeCreated: 1728243243 -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/ImGuiCursorAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02e1dbe2d21448b784c126cdf43ce080 3 | timeCreated: 1728402717 -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/ImGuiFontAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e945ef84c1e2473593e94a63b5499652 3 | timeCreated: 1728392379 -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/ImGuiStyleAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e008c0d5d47041b4aea78588df4e039c 3 | timeCreated: 1728240015 -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/UBImGuiSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d10de0c4c2ae4852902905ccd9b57019 3 | timeCreated: 1728239925 -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/DearImGuiIOConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 523b2baf6d834a35beb658f19080c45d 3 | timeCreated: 1728496632 -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/IInputHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a62df2cf8274e928208d96d38f722d8 3 | timeCreated: 1728064461 -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/HDRPRenderPass.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bdb8f1ede114256975faaed8f3d3e5c 3 | timeCreated: 1728427527 -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/IImGuiRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c4aedf3322844ca9e8c5103e67045e3 3 | timeCreated: 1728141149 -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/URPRenderPass.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d1c4168e0444ceaad28b7f5dae6bc88 3 | timeCreated: 1728154005 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/ImGuiIOPtr.Extra.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aac8fc14912849e5be8eb8a11084d7c6 3 | timeCreated: 1728338435 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/TwoWayDictionary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: becb7bb8094e4f2d9d602774aa603c93 3 | timeCreated: 1728232575 -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Mac/cimgui.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/Mac/cimgui.dylib -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x64/cimgui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/win-x64/cimgui.dll -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x86/cimgui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/win-x86/cimgui.dll -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/CommandBufferWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7fb45c71b9ff4d84ad31f660c8cacaf5 3 | timeCreated: 1728140562 -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/ClipboardHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0bb2c3042ca4cae9c503802d3977184 3 | timeCreated: 1728071462 -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/InputManagerHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a003d95caf5f4cdf932af89025ad64ec 3 | timeCreated: 1728064586 -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/InputSystemHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6f21a1a048943ef9c77da172777899f 3 | timeCreated: 1728064597 -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/IntPtrEqualityComparer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b7cee17727647df8c717961bcdf2dbe 3 | timeCreated: 1728338286 -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/UBImGuiSettingsPersistent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0914fe5889c4f58921aba93eb738ddc 3 | timeCreated: 1728309473 -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/GraphicsBufferRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f723eada7aaa4f77a8dacb9dcc9ab24f 3 | timeCreated: 1728141282 -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-arm64/cimgui.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/android-arm64/cimgui.so -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-armv7/cimgui.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/cimgui/android-armv7/cimgui.so -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiSizeCallback.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public unsafe delegate void ImGuiSizeCallback(ImGuiSizeCallbackData* data); 4 | } 5 | -------------------------------------------------------------------------------- /Runtime/plugins/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MasterSix997/UBImGui/HEAD/Runtime/plugins/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec74cfb38c83df64b93cbcbea10ad4bd 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d6ec916a9e531d4ea04a8aaa4ae946e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6aba4ef76450b94bacaff2cd8147151 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7e9bc4cf35fe6d4e8f43f1a47ceb9fc 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd956a4731a617b4991743179ae2a104 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20a66f1340681424fade5ebc40244147 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29750c434fafc6842b6aa236297a6e83 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/UBImGui.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ef274fc3d3bd31498ab3ed8a203f835 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/UBImGui.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69bebc4bf3646df4c9f80b67cbc582fe 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Resources/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bd9e9df8d73e6a46853843d53aeb3d1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d704aacc4db36e04da7616a8bcb6506a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableRowFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTableRowFlags 5 | { 6 | None = 0, 7 | Headers = 1, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Runtime/UBImGui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96ece25df91917f46a1d1af35a3fbfb9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 777279085708d094aba69915517053bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Demo Window.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bb94dc48a197a945a4518f13ef44015 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Demo Window/Demo Window.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b10cc1eb1c1a45144aacab7b3dc38ff9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Documentation/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7016f5560edf284fbc7e49f7ddf5321 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6db5f97c14d9ca4d943015d8f4fa1b8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Simple Console.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61eb74e9bebbb214f88fb617dc7e6f03 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Simple Console/Simple Console.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 521ed14070e181843b9c836269a4e22e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples/Simple Window.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29d8a473c72003841b5f35ac89b4af3c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Simple Window/Simple Window.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea62cf5f45403d548aefe2d57677622f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93fa1797fa77b524aa09f81a5cac3b2a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSortDirection.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiSortDirection 4 | { 5 | None = 0, 6 | Ascending = 1, 7 | Descending = 2, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Linux.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad0f48b34c757e64c8568488d656df9d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Mac.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc1d2d2db7cb6024fb3bad9e78c07a55 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Demo Window/UBImGui (Demo Window).prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71858809444bdbf40a3cadfdf3f1aafe 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionRequestType.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiSelectionRequestType 4 | { 5 | None = 0, 6 | SetAll = 1, 7 | SetRange = 2, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d27431b80818dbf4bbd15f731e2ed258 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38dd8d5d8d0cafd41a48c086b2a0841c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseButton.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiMouseButton 4 | { 5 | Left = 0, 6 | Right = 1, 7 | Middle = 2, 8 | COUNT = 5, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-arm64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05d49d6d9dd71e041aca872e8152c343 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-armv7.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4753378ecfb71940a9490fa31dede57 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseSource.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiMouseSource 4 | { 5 | Mouse = 0, 6 | TouchScreen = 1, 7 | Pen = 2, 8 | COUNT = 3, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableBgTarget.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiTableBgTarget 4 | { 5 | None = 0, 6 | RowBg0 = 1, 7 | RowBg1 = 2, 8 | CellBg = 3, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Resources/Settings/DEFAULT Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 474ccf8d37a4081449fa4834c7e18e37 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Resources/Settings/DEFAULT Style.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: add6a5977e6e7704586c563789be44a6 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiCond.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiCond 4 | { 5 | None = 0, 6 | Always = 1, 7 | Once = 2, 8 | FirstUseEver = 4, 9 | Appearing = 8, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDir.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiDir 4 | { 5 | None = -1, 6 | Left = 0, 7 | Right = 1, 8 | Up = 2, 9 | Down = 3, 10 | COUNT = 4, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiModFlags.Manual.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiModFlags 5 | { 6 | None = 0, 7 | Ctrl = 1, 8 | Shift = 2, 9 | Alt = 4, 10 | Super = 8, 11 | } 12 | } -------------------------------------------------------------------------------- /Resources/Settings/UBImGui Settings Persister.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f2b0fde8fb69bb4b9f13486334c40c3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiTextEditCallback.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | 3 | namespace ImGuiNET 4 | { 5 | [UnmanagedFunctionPointer(CallingConvention.Cdecl)] 6 | public unsafe delegate int ImGuiInputTextCallback(ImGuiInputTextCallbackData* data); 7 | } 8 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontAtlasFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImFontAtlasFlags 5 | { 6 | None = 0, 7 | NoPowerOfTwoHeight = 1, 8 | NoMouseCursors = 2, 9 | NoBakedLines = 4, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/ImGuiFontAsset.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UBImGui 4 | { 5 | [CreateAssetMenu(fileName = "ImGui Font Atlas", menuName = "UB ImGui/Font Atlas")] 6 | public class ImGuiFontAsset : ScriptableObject 7 | { 8 | public FontSettings[] fontSettings; 9 | } 10 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawListFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImDrawListFlags 5 | { 6 | None = 0, 7 | AntiAliasedLines = 1, 8 | AntiAliasedLinesUseTex = 2, 9 | AntiAliasedFill = 4, 10 | AllowVtxOffset = 8, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiButtonFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiButtonFlags 5 | { 6 | None = 0, 7 | MouseButtonLeft = 1, 8 | MouseButtonRight = 2, 9 | MouseButtonMiddle = 4, 10 | MouseButtonMask = 7, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Samples/Simple Console/SimpleConsole.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 194853d9f5c707b44a50e45061a93031 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Samples/Simple Window/SimpleWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ae041dd6ecb70b4c84f5a1a31efbfbb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiItemFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiItemFlags 5 | { 6 | None = 0, 7 | NoTabStop = 1, 8 | NoNav = 2, 9 | NoNavDefaultFocus = 4, 10 | ButtonRepeat = 8, 11 | AutoClosePopups = 16, 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiFocusedFlags 5 | { 6 | None = 0, 7 | ChildWindows = 1, 8 | RootWindow = 2, 9 | AnyWindow = 4, 10 | NoPopupHierarchy = 8, 11 | DockHierarchy = 16, 12 | RootAndChildWindows = 3, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSliderFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiSliderFlags 5 | { 6 | None = 0, 7 | AlwaysClamp = 16, 8 | Logarithmic = 32, 9 | NoRoundToFormat = 64, 10 | NoInput = 128, 11 | WrapAround = 256, 12 | InvalidMask = 1879048207, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectableFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiSelectableFlags 5 | { 6 | None = 0, 7 | NoAutoClosePopups = 1, 8 | SpanAllColumns = 2, 9 | AllowDoubleClick = 4, 10 | Disabled = 8, 11 | AllowOverlap = 16, 12 | Highlight = 32, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/IImGuiRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ImGuiNET; 3 | using UnityEngine; 4 | 5 | namespace UBImGui 6 | { 7 | public interface IImGuiRenderer : IDisposable 8 | { 9 | public void UpdateBuffers(ImDrawDataPtr drawData); 10 | public void Render(in CommandBufferWrapper cmd, ImDrawDataPtr drawData, Vector2 frameBufferSize); 11 | } 12 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDataType.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiDataType 4 | { 5 | S8 = 0, 6 | U8 = 1, 7 | S16 = 2, 8 | U16 = 3, 9 | S32 = 4, 10 | U32 = 5, 11 | S64 = 6, 12 | U64 = 7, 13 | Float = 8, 14 | Double = 9, 15 | Bool = 10, 16 | COUNT = 11, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDockNodeFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiDockNodeFlags 5 | { 6 | None = 0, 7 | KeepAliveOnly = 1, 8 | NoDockingOverCentralNode = 4, 9 | PassthruCentralNode = 8, 10 | NoDockingSplit = 16, 11 | NoResize = 32, 12 | AutoHideTabBar = 64, 13 | NoUndocking = 128, 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMouseCursor.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiMouseCursor 4 | { 5 | None = -1, 6 | Arrow = 0, 7 | TextInput = 1, 8 | ResizeAll = 2, 9 | ResizeNS = 3, 10 | ResizeEW = 4, 11 | ResizeNESW = 5, 12 | ResizeNWSE = 6, 13 | Hand = 7, 14 | NotAllowed = 8, 15 | COUNT = 9, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiBackendFlags 5 | { 6 | None = 0, 7 | HasGamepad = 1, 8 | HasMouseCursors = 2, 9 | HasSetMousePos = 4, 10 | RendererHasVtxOffset = 8, 11 | PlatformHasViewports = 1024, 12 | HasMouseHoveredViewport = 2048, 13 | RendererHasViewports = 4096, 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiChildFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiChildFlags 5 | { 6 | None = 0, 7 | Border = 1, 8 | AlwaysUseWindowPadding = 2, 9 | ResizeX = 4, 10 | ResizeY = 8, 11 | AutoResizeX = 16, 12 | AutoResizeY = 32, 13 | AlwaysAutoResize = 64, 14 | FrameStyle = 128, 15 | NavFlattened = 256, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiComboFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiComboFlags 5 | { 6 | None = 0, 7 | PopupAlignLeft = 1, 8 | HeightSmall = 2, 9 | HeightRegular = 4, 10 | HeightLarge = 8, 11 | HeightLargest = 16, 12 | NoArrowButton = 32, 13 | NoPreview = 64, 14 | WidthFitPreview = 128, 15 | HeightMask = 30, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTabItemFlags 5 | { 6 | None = 0, 7 | UnsavedDocument = 1, 8 | SetSelected = 2, 9 | NoCloseWithMiddleMouseButton = 4, 10 | NoPushId = 8, 11 | NoTooltip = 16, 12 | NoReorder = 32, 13 | Leading = 64, 14 | Trailing = 128, 15 | NoAssumedClosure = 256, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Editor/UBImGui.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UBImGui.Editor", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:1ef274fc3d3bd31498ab3ed8a203f835" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": true, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": false, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiInputFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiInputFlags 5 | { 6 | None = 0, 7 | Repeat = 1, 8 | RouteActive = 1024, 9 | RouteFocused = 2048, 10 | RouteGlobal = 4096, 11 | RouteAlways = 8192, 12 | RouteOverFocused = 16384, 13 | RouteOverActive = 32768, 14 | RouteUnlessBgFocused = 65536, 15 | RouteFromRootWindow = 131072, 16 | Tooltip = 262144, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Samples/Demo Window/DemoWindow.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using UnityEngine; 3 | 4 | namespace UBImGui.Samples 5 | { 6 | public class DemoWindow : MonoBehaviour 7 | { 8 | private void OnEnable() 9 | { 10 | ImGui.Layout += ImGuiOnLayout; 11 | } 12 | 13 | private void OnDisable() 14 | { 15 | ImGui.Layout -= ImGuiOnLayout; 16 | } 17 | 18 | private void ImGuiOnLayout() 19 | { 20 | ImGui.ShowDemoWindow(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPopupFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiPopupFlags 5 | { 6 | None = 0, 7 | MouseButtonLeft = 0, 8 | MouseButtonRight = 1, 9 | MouseButtonMiddle = 2, 10 | MouseButtonMask = 31, 11 | MouseButtonDefault = 1, 12 | NoReopen = 32, 13 | NoOpenOverExistingPopup = 128, 14 | NoOpenOverItems = 256, 15 | AnyPopupId = 1024, 16 | AnyPopupLevel = 2048, 17 | AnyPopup = 3072, 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Resources/Settings/UBImGui Settings Persister.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0914fe5889c4f58921aba93eb738ddc, type: 3} 13 | m_Name: UBImGui Settings Persister 14 | m_EditorClassIdentifier: 15 | settings: {fileID: 11400000, guid: 474ccf8d37a4081449fa4834c7e18e37, type: 2} 16 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTabBarFlags 5 | { 6 | None = 0, 7 | Reorderable = 1, 8 | AutoSelectNewTabs = 2, 9 | TabListPopupButton = 4, 10 | NoCloseWithMiddleMouseButton = 8, 11 | NoTabListScrollingButtons = 16, 12 | NoTooltip = 32, 13 | DrawSelectedOverline = 64, 14 | FittingPolicyResizeDown = 128, 15 | FittingPolicyScroll = 256, 16 | FittingPolicyMask = 384, 17 | FittingPolicyDefault = 128, 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImGuiNative.Manual.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public static unsafe partial class ImGuiNative 7 | { 8 | [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] 9 | public static extern void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, IntPtr funcPtr); 10 | [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] 11 | public static extern void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, IntPtr funcPtr); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiViewportFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiViewportFlags 5 | { 6 | None = 0, 7 | IsPlatformWindow = 1, 8 | IsPlatformMonitor = 2, 9 | OwnedByApp = 4, 10 | NoDecoration = 8, 11 | NoTaskBarIcon = 16, 12 | NoFocusOnAppearing = 32, 13 | NoFocusOnClick = 64, 14 | NoInputs = 128, 15 | NoRendererClear = 256, 16 | NoAutoMerge = 512, 17 | TopMost = 1024, 18 | CanHostOtherWindows = 2048, 19 | IsMinimized = 4096, 20 | IsFocused = 8192, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiConfigFlags 5 | { 6 | None = 0, 7 | NavEnableKeyboard = 1, 8 | NavEnableGamepad = 2, 9 | NavEnableSetMousePos = 4, 10 | NavNoCaptureKeyboard = 8, 11 | NoMouse = 16, 12 | NoMouseCursorChange = 32, 13 | NoKeyboard = 64, 14 | DockingEnable = 128, 15 | ViewportsEnable = 1024, 16 | DpiEnableScaleViewports = 16384, 17 | DpiEnableScaleFonts = 32768, 18 | IsSRGB = 1048576, 19 | IsTouchScreen = 2097152, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImDrawFlags 5 | { 6 | None = 0, 7 | Closed = 1, 8 | RoundCornersTopLeft = 16, 9 | RoundCornersTopRight = 32, 10 | RoundCornersBottomLeft = 64, 11 | RoundCornersBottomRight = 128, 12 | RoundCornersNone = 256, 13 | RoundCornersTop = 48, 14 | RoundCornersBottom = 192, 15 | RoundCornersLeft = 80, 16 | RoundCornersRight = 160, 17 | RoundCornersAll = 240, 18 | RoundCornersDefault = 240, 19 | RoundCornersMask = 496, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiDragDropFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiDragDropFlags 5 | { 6 | None = 0, 7 | SourceNoPreviewTooltip = 1, 8 | SourceNoDisableHover = 2, 9 | SourceNoHoldToOpenOthers = 4, 10 | SourceAllowNullID = 8, 11 | SourceExtern = 16, 12 | PayloadAutoExpire = 32, 13 | PayloadNoCrossContext = 64, 14 | PayloadNoCrossProcess = 128, 15 | AcceptBeforeDelivery = 1024, 16 | AcceptNoDrawDefaultRect = 2048, 17 | AcceptNoPreviewTooltip = 4096, 18 | AcceptPeekOnly = 3072, 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMultiSelectFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiMultiSelectFlags 5 | { 6 | None = 0, 7 | SingleSelect = 1, 8 | NoSelectAll = 2, 9 | NoRangeSelect = 4, 10 | NoAutoSelect = 8, 11 | NoAutoClear = 16, 12 | NoAutoClearOnReselect = 32, 13 | BoxSelect1d = 64, 14 | BoxSelect2d = 128, 15 | BoxSelectNoScroll = 256, 16 | ClearOnEscape = 512, 17 | ClearOnClickVoid = 1024, 18 | ScopeWindow = 2048, 19 | ScopeRect = 4096, 20 | SelectOnClick = 8192, 21 | SelectOnClickRelease = 16384, 22 | NavWrapX = 65536, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTreeNodeFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTreeNodeFlags 5 | { 6 | None = 0, 7 | Selected = 1, 8 | Framed = 2, 9 | AllowOverlap = 4, 10 | NoTreePushOnOpen = 8, 11 | NoAutoOpenOnLog = 16, 12 | DefaultOpen = 32, 13 | OpenOnDoubleClick = 64, 14 | OpenOnArrow = 128, 15 | Leaf = 256, 16 | Bullet = 512, 17 | FramePadding = 1024, 18 | SpanAvailWidth = 2048, 19 | SpanFullWidth = 4096, 20 | SpanTextWidth = 8192, 21 | SpanAllColumns = 16384, 22 | NavLeftJumpsBackHere = 32768, 23 | CollapsingHeader = 26, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/NullTerminatedString.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace ImGuiNET 4 | { 5 | public unsafe struct NullTerminatedString 6 | { 7 | public readonly byte* Data; 8 | 9 | public NullTerminatedString(byte* data) 10 | { 11 | Data = data; 12 | } 13 | 14 | public override string ToString() 15 | { 16 | int length = 0; 17 | byte* ptr = Data; 18 | while (*ptr != 0) 19 | { 20 | length += 1; 21 | ptr += 1; 22 | } 23 | 24 | return Encoding.ASCII.GetString(Data, length); 25 | } 26 | 27 | public static implicit operator string(NullTerminatedString nts) => nts.ToString(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Runtime/plugins/System.Runtime.CompilerServices.Unsafe.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4eab133695e63504bbecdc9e5f178c9b 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/HDRPRenderPass.cs: -------------------------------------------------------------------------------- 1 | #if PACKAGE_HIGH_DEFINITION_RP 2 | using UnityEngine.Rendering.HighDefinition; 3 | using UnityEngine.Rendering; 4 | 5 | namespace UBImGui { 6 | class DearImGuiHDRPCustomPass : CustomPass 7 | { 8 | protected override void Setup (ScriptableRenderContext renderContext, CommandBuffer cmd) { } 9 | 10 | #if PACKAGE_HIGH_DEFINITION_RP_9_0_OR_NEWER 11 | protected override void Execute (CustomPassContext context) 12 | { 13 | ImGuiBehaviour.ExecuteCustomPass(context.cmd, context.hdCamera.camera); 14 | } 15 | #else 16 | protected override void Execute (ScriptableRenderContext context, CommandBuffer cmd, HDCamera camera, CullingResults cullingResult) 17 | { 18 | ImGuiBehaviour.ExecuteCustomPass(cmd, camera.camera); 19 | } 20 | #endif 21 | 22 | protected override void Cleanup () { } 23 | } 24 | } 25 | #endif -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiHoveredFlags 5 | { 6 | None = 0, 7 | ChildWindows = 1, 8 | RootWindow = 2, 9 | AnyWindow = 4, 10 | NoPopupHierarchy = 8, 11 | DockHierarchy = 16, 12 | AllowWhenBlockedByPopup = 32, 13 | AllowWhenBlockedByActiveItem = 128, 14 | AllowWhenOverlappedByItem = 256, 15 | AllowWhenOverlappedByWindow = 512, 16 | AllowWhenDisabled = 1024, 17 | NoNavOverride = 2048, 18 | AllowWhenOverlapped = 768, 19 | RectOnly = 928, 20 | RootAndChildWindows = 3, 21 | ForTooltip = 4096, 22 | Stationary = 8192, 23 | DelayNone = 16384, 24 | DelayShort = 32768, 25 | DelayNormal = 65536, 26 | NoSharedDelay = 131072, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/IntPtrEqualityComparer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace UBImGui 6 | { 7 | // Avoid boxing IntPtr in collections. 8 | // IntPtr does not implement IEquatable yet in 2019.3 Mono bleeding edge. 9 | // https://github.com/Unity-Technologies/mono/blob/unity-2019.3-mbe/mcs/class/corlib/System/IntPtr.cs 10 | 11 | public class IntPtrEqualityComparer : IEqualityComparer 12 | { 13 | public static IntPtrEqualityComparer Instance { get; } = new IntPtrEqualityComparer(); 14 | 15 | IntPtrEqualityComparer() { } 16 | 17 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 18 | public bool Equals(IntPtr p1, IntPtr p2) => p1 == p2; 19 | 20 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 21 | public int GetHashCode(IntPtr ptr) => ptr.GetHashCode(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/IInputHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using ImGuiNET; 4 | using UnityEngine; 5 | 6 | namespace UBImGui 7 | { 8 | public interface IInputHandler : IDisposable 9 | { 10 | Vector2 MouseOffset { get; set; } 11 | 12 | public void Initialize(ImGuiIOPtr io); 13 | public void Update(ImGuiIOPtr io); 14 | 15 | void IDisposable.Dispose() { } 16 | 17 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 18 | internal static Vector2 ScreenToImGui(in Vector2 point) 19 | { 20 | return new Vector2(point.x, ImGui.GetIO().DisplaySize.y - point.y); 21 | } 22 | 23 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 24 | internal static Vector2 ImGuiToScreen(in Vector2 point) 25 | { 26 | return new Vector2(point.x, ImGui.GetIO().DisplaySize.y - point.y); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiInputTextFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiInputTextFlags 5 | { 6 | None = 0, 7 | CharsDecimal = 1, 8 | CharsHexadecimal = 2, 9 | CharsScientific = 4, 10 | CharsUppercase = 8, 11 | CharsNoBlank = 16, 12 | AllowTabInput = 32, 13 | EnterReturnsTrue = 64, 14 | EscapeClearsAll = 128, 15 | CtrlEnterForNewLine = 256, 16 | ReadOnly = 512, 17 | Password = 1024, 18 | AlwaysOverwrite = 2048, 19 | AutoSelectAll = 4096, 20 | ParseEmptyRefVal = 8192, 21 | DisplayEmptyRefVal = 16384, 22 | NoHorizontalScroll = 32768, 23 | NoUndoRedo = 65536, 24 | CallbackCompletion = 131072, 25 | CallbackHistory = 262144, 26 | CallbackAlways = 524288, 27 | CallbackCharFilter = 1048576, 28 | CallbackResize = 2097152, 29 | CallbackEdit = 4194304, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableColumnFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTableColumnFlags 5 | { 6 | None = 0, 7 | Disabled = 1, 8 | DefaultHide = 2, 9 | DefaultSort = 4, 10 | WidthStretch = 8, 11 | WidthFixed = 16, 12 | NoResize = 32, 13 | NoReorder = 64, 14 | NoHide = 128, 15 | NoClip = 256, 16 | NoSort = 512, 17 | NoSortAscending = 1024, 18 | NoSortDescending = 2048, 19 | NoHeaderLabel = 4096, 20 | NoHeaderWidth = 8192, 21 | PreferSortAscending = 16384, 22 | PreferSortDescending = 32768, 23 | IndentEnable = 65536, 24 | IndentDisable = 131072, 25 | AngledHeader = 262144, 26 | IsEnabled = 16777216, 27 | IsVisible = 33554432, 28 | IsSorted = 67108864, 29 | IsHovered = 134217728, 30 | WidthMask = 24, 31 | IndentMask = 196608, 32 | StatusMask = 251658240, 33 | NoDirectResize = 1073741824, 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiColorEditFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiColorEditFlags 5 | { 6 | None = 0, 7 | NoAlpha = 2, 8 | NoPicker = 4, 9 | NoOptions = 8, 10 | NoSmallPreview = 16, 11 | NoInputs = 32, 12 | NoTooltip = 64, 13 | NoLabel = 128, 14 | NoSidePreview = 256, 15 | NoDragDrop = 512, 16 | NoBorder = 1024, 17 | AlphaBar = 65536, 18 | AlphaPreview = 131072, 19 | AlphaPreviewHalf = 262144, 20 | HDR = 524288, 21 | DisplayRGB = 1048576, 22 | DisplayHSV = 2097152, 23 | DisplayHex = 4194304, 24 | Uint8 = 8388608, 25 | Float = 16777216, 26 | PickerHueBar = 33554432, 27 | PickerHueWheel = 67108864, 28 | InputRGB = 134217728, 29 | InputHSV = 268435456, 30 | DefaultOptions = 177209344, 31 | DisplayMask = 7340032, 32 | DataTypeMask = 25165824, 33 | PickerMask = 100663296, 34 | InputMask = 402653184, 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 MasterSix 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiWindowFlags 5 | { 6 | None = 0, 7 | NoTitleBar = 1, 8 | NoResize = 2, 9 | NoMove = 4, 10 | NoScrollbar = 8, 11 | NoScrollWithMouse = 16, 12 | NoCollapse = 32, 13 | AlwaysAutoResize = 64, 14 | NoBackground = 128, 15 | NoSavedSettings = 256, 16 | NoMouseInputs = 512, 17 | MenuBar = 1024, 18 | HorizontalScrollbar = 2048, 19 | NoFocusOnAppearing = 4096, 20 | NoBringToFrontOnFocus = 8192, 21 | AlwaysVerticalScrollbar = 16384, 22 | AlwaysHorizontalScrollbar = 32768, 23 | NoNavInputs = 65536, 24 | NoNavFocus = 131072, 25 | UnsavedDocument = 262144, 26 | NoDocking = 524288, 27 | NoNav = 196608, 28 | NoDecoration = 43, 29 | NoInputs = 197120, 30 | ChildWindow = 16777216, 31 | Tooltip = 33554432, 32 | Popup = 67108864, 33 | Modal = 134217728, 34 | ChildMenu = 268435456, 35 | DockNodeHost = 536870912, 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawVert.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImDrawVert 8 | { 9 | public Vector2 pos; 10 | public Vector2 uv; 11 | public uint col; 12 | } 13 | public unsafe partial struct ImDrawVertPtr 14 | { 15 | public ImDrawVert* NativePtr { get; } 16 | public ImDrawVertPtr(ImDrawVert* nativePtr) => NativePtr = nativePtr; 17 | public ImDrawVertPtr(IntPtr nativePtr) => NativePtr = (ImDrawVert*)nativePtr; 18 | public static implicit operator ImDrawVertPtr(ImDrawVert* nativePtr) => new ImDrawVertPtr(nativePtr); 19 | public static implicit operator ImDrawVert* (ImDrawVertPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImDrawVertPtr(IntPtr nativePtr) => new ImDrawVertPtr(nativePtr); 21 | public ref Vector2 pos => ref Unsafe.AsRef(&NativePtr->pos); 22 | public ref Vector2 uv => ref Unsafe.AsRef(&NativePtr->uv); 23 | public ref uint col => ref Unsafe.AsRef(&NativePtr->col); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawChannel.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImDrawChannel 7 | { 8 | public ImVector _CmdBuffer; 9 | public ImVector _IdxBuffer; 10 | } 11 | public unsafe partial struct ImDrawChannelPtr 12 | { 13 | public ImDrawChannel* NativePtr { get; } 14 | public ImDrawChannelPtr(ImDrawChannel* nativePtr) => NativePtr = nativePtr; 15 | public ImDrawChannelPtr(IntPtr nativePtr) => NativePtr = (ImDrawChannel*)nativePtr; 16 | public static implicit operator ImDrawChannelPtr(ImDrawChannel* nativePtr) => new ImDrawChannelPtr(nativePtr); 17 | public static implicit operator ImDrawChannel* (ImDrawChannelPtr wrappedPtr) => wrappedPtr.NativePtr; 18 | public static implicit operator ImDrawChannelPtr(IntPtr nativePtr) => new ImDrawChannelPtr(nativePtr); 19 | public ImPtrVector _CmdBuffer => new ImPtrVector(NativePtr->_CmdBuffer, Unsafe.SizeOf()); 20 | public ImVector _IdxBuffer => new ImVector(NativePtr->_IdxBuffer); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiOnceUponAFrame.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiOnceUponAFrame 7 | { 8 | public int RefFrame; 9 | } 10 | public unsafe partial struct ImGuiOnceUponAFramePtr 11 | { 12 | public ImGuiOnceUponAFrame* NativePtr { get; } 13 | public ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => NativePtr = nativePtr; 14 | public ImGuiOnceUponAFramePtr(IntPtr nativePtr) => NativePtr = (ImGuiOnceUponAFrame*)nativePtr; 15 | public static implicit operator ImGuiOnceUponAFramePtr(ImGuiOnceUponAFrame* nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); 16 | public static implicit operator ImGuiOnceUponAFrame* (ImGuiOnceUponAFramePtr wrappedPtr) => wrappedPtr.NativePtr; 17 | public static implicit operator ImGuiOnceUponAFramePtr(IntPtr nativePtr) => new ImGuiOnceUponAFramePtr(nativePtr); 18 | public ref int RefFrame => ref Unsafe.AsRef(&NativePtr->RefFrame); 19 | public void Destroy() 20 | { 21 | ImGuiNative.ImGuiOnceUponAFrame_destroy((ImGuiOnceUponAFrame*)(NativePtr)); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Pair.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public struct ImGuiStoragePair 7 | { 8 | public uint Key; 9 | public UnionValue Value; 10 | } 11 | 12 | public unsafe struct ImGuiStoragePairPtr 13 | { 14 | public ImGuiStoragePair* NativePtr { get; } 15 | public ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiStoragePairPtr(IntPtr nativePtr) => NativePtr = (ImGuiStoragePair*)nativePtr; 17 | public static implicit operator ImGuiStoragePairPtr(ImGuiStoragePair* nativePtr) => new ImGuiStoragePairPtr(nativePtr); 18 | public static implicit operator ImGuiStoragePair*(ImGuiStoragePairPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiStoragePairPtr(IntPtr nativePtr) => new ImGuiStoragePairPtr(nativePtr); 20 | } 21 | 22 | [StructLayout(LayoutKind.Explicit)] 23 | public struct UnionValue 24 | { 25 | [FieldOffset(0)] 26 | public int ValueI32; 27 | [FieldOffset(0)] 28 | public float ValueF32; 29 | [FieldOffset(0)] 30 | public IntPtr ValuePtr; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Delegates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace ImGuiNET 5 | { 6 | public delegate void Platform_CreateWindow(ImGuiViewportPtr vp); // Create a new platform window for the given viewport 7 | public delegate void Platform_DestroyWindow(ImGuiViewportPtr vp); 8 | public delegate void Platform_ShowWindow(ImGuiViewportPtr vp); // Newly created windows are initially hidden so SetWindowPos/Size/Title can be called on them first 9 | public delegate void Platform_SetWindowPos(ImGuiViewportPtr vp, Vector2 pos); 10 | public unsafe delegate void Platform_GetWindowPos(ImGuiViewportPtr vp, Vector2* outPos); 11 | public delegate void Platform_SetWindowSize(ImGuiViewportPtr vp, Vector2 size); 12 | public unsafe delegate void Platform_GetWindowSize(ImGuiViewportPtr vp, Vector2* outSize); 13 | public delegate void Platform_SetWindowFocus(ImGuiViewportPtr vp); // Move window to front and set input focus 14 | public delegate byte Platform_GetWindowFocus(ImGuiViewportPtr vp); 15 | public delegate byte Platform_GetWindowMinimized(ImGuiViewportPtr vp); 16 | public delegate void Platform_SetWindowTitle(ImGuiViewportPtr vp, IntPtr title); 17 | } 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.mastersix.ubimgui", 3 | "displayName": "UBImGui", 4 | "version": "0.0.1", 5 | "unity": "2021.2", 6 | "description": "UBImGui (Unity Better ImGui) is a binding of \"Dear ImGui\" for Unity. It allows you to create interfaces by code, in immediate mode, in a simple and intuitive way.", 7 | "keywords": [ 8 | "Dear ImGui", 9 | "ImGui", 10 | "GUI", 11 | "Immediate Mode", 12 | "UBImGui" 13 | ], 14 | "samples": [ 15 | { 16 | "displayName": "Demo Window", 17 | "description": "Show demo window of dear imgui.", 18 | "path": "Samples/Demo Window" 19 | }, 20 | { 21 | "displayName": "Simple Window", 22 | "description": "Example of a simple window with some widgets.", 23 | "path": "Samples/Simple Window" 24 | }, 25 | { 26 | "displayName": "Simple Console", 27 | "description": "Example of a simple and functional console.", 28 | "path": "Samples/Simple Console" 29 | } 30 | ], 31 | "author": { 32 | "name": "MasterSix", 33 | "email": "igork7silva@gmail.com", 34 | "url": "https://github.com/MasterSix997" 35 | }, 36 | "repository": { 37 | "type": "git", 38 | "url": "https://github.com/MasterSix997/UBImGui.git", 39 | "revision": "" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawCmdHeader.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImDrawCmdHeader 8 | { 9 | public Vector4 ClipRect; 10 | public IntPtr TextureId; 11 | public uint VtxOffset; 12 | } 13 | public unsafe partial struct ImDrawCmdHeaderPtr 14 | { 15 | public ImDrawCmdHeader* NativePtr { get; } 16 | public ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => NativePtr = nativePtr; 17 | public ImDrawCmdHeaderPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmdHeader*)nativePtr; 18 | public static implicit operator ImDrawCmdHeaderPtr(ImDrawCmdHeader* nativePtr) => new ImDrawCmdHeaderPtr(nativePtr); 19 | public static implicit operator ImDrawCmdHeader* (ImDrawCmdHeaderPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImDrawCmdHeaderPtr(IntPtr nativePtr) => new ImDrawCmdHeaderPtr(nativePtr); 21 | public ref Vector4 ClipRect => ref Unsafe.AsRef(&NativePtr->ClipRect); 22 | public ref IntPtr TextureId => ref Unsafe.AsRef(&NativePtr->TextureId); 23 | public ref uint VtxOffset => ref Unsafe.AsRef(&NativePtr->VtxOffset); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiStyleVar.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiStyleVar 4 | { 5 | Alpha = 0, 6 | DisabledAlpha = 1, 7 | WindowPadding = 2, 8 | WindowRounding = 3, 9 | WindowBorderSize = 4, 10 | WindowMinSize = 5, 11 | WindowTitleAlign = 6, 12 | ChildRounding = 7, 13 | ChildBorderSize = 8, 14 | PopupRounding = 9, 15 | PopupBorderSize = 10, 16 | FramePadding = 11, 17 | FrameRounding = 12, 18 | FrameBorderSize = 13, 19 | ItemSpacing = 14, 20 | ItemInnerSpacing = 15, 21 | IndentSpacing = 16, 22 | CellPadding = 17, 23 | ScrollbarSize = 18, 24 | ScrollbarRounding = 19, 25 | GrabMinSize = 20, 26 | GrabRounding = 21, 27 | TabRounding = 22, 28 | TabBorderSize = 23, 29 | TabBarBorderSize = 24, 30 | TabBarOverlineSize = 25, 31 | TableAngledHeadersAngle = 26, 32 | TableAngledHeadersTextAlign = 27, 33 | ButtonTextAlign = 28, 34 | SelectableTextAlign = 29, 35 | SeparatorTextBorderSize = 30, 36 | SeparatorTextAlign = 31, 37 | SeparatorTextPadding = 32, 38 | DockingSeparatorSize = 33, 39 | COUNT = 34, 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/StbUndoRecord.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct StbUndoRecord 7 | { 8 | public int where; 9 | public int insert_length; 10 | public int delete_length; 11 | public int char_storage; 12 | } 13 | public unsafe partial struct StbUndoRecordPtr 14 | { 15 | public StbUndoRecord* NativePtr { get; } 16 | public StbUndoRecordPtr(StbUndoRecord* nativePtr) => NativePtr = nativePtr; 17 | public StbUndoRecordPtr(IntPtr nativePtr) => NativePtr = (StbUndoRecord*)nativePtr; 18 | public static implicit operator StbUndoRecordPtr(StbUndoRecord* nativePtr) => new StbUndoRecordPtr(nativePtr); 19 | public static implicit operator StbUndoRecord* (StbUndoRecordPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator StbUndoRecordPtr(IntPtr nativePtr) => new StbUndoRecordPtr(nativePtr); 21 | public ref int where => ref Unsafe.AsRef(&NativePtr->where); 22 | public ref int insert_length => ref Unsafe.AsRef(&NativePtr->insert_length); 23 | public ref int delete_length => ref Unsafe.AsRef(&NativePtr->delete_length); 24 | public ref int char_storage => ref Unsafe.AsRef(&NativePtr->char_storage); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiKeyData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiKeyData 7 | { 8 | public byte Down; 9 | public float DownDuration; 10 | public float DownDurationPrev; 11 | public float AnalogValue; 12 | } 13 | public unsafe partial struct ImGuiKeyDataPtr 14 | { 15 | public ImGuiKeyData* NativePtr { get; } 16 | public ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => NativePtr = nativePtr; 17 | public ImGuiKeyDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiKeyData*)nativePtr; 18 | public static implicit operator ImGuiKeyDataPtr(ImGuiKeyData* nativePtr) => new ImGuiKeyDataPtr(nativePtr); 19 | public static implicit operator ImGuiKeyData* (ImGuiKeyDataPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImGuiKeyDataPtr(IntPtr nativePtr) => new ImGuiKeyDataPtr(nativePtr); 21 | public ref bool Down => ref Unsafe.AsRef(&NativePtr->Down); 22 | public ref float DownDuration => ref Unsafe.AsRef(&NativePtr->DownDuration); 23 | public ref float DownDurationPrev => ref Unsafe.AsRef(&NativePtr->DownDurationPrev); 24 | public ref float AnalogValue => ref Unsafe.AsRef(&NativePtr->AnalogValue); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableFlags.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | [System.Flags] 4 | public enum ImGuiTableFlags 5 | { 6 | None = 0, 7 | Resizable = 1, 8 | Reorderable = 2, 9 | Hideable = 4, 10 | Sortable = 8, 11 | NoSavedSettings = 16, 12 | ContextMenuInBody = 32, 13 | RowBg = 64, 14 | BordersInnerH = 128, 15 | BordersOuterH = 256, 16 | BordersInnerV = 512, 17 | BordersOuterV = 1024, 18 | BordersH = 384, 19 | BordersV = 1536, 20 | BordersInner = 640, 21 | BordersOuter = 1280, 22 | Borders = 1920, 23 | NoBordersInBody = 2048, 24 | NoBordersInBodyUntilResize = 4096, 25 | SizingFixedFit = 8192, 26 | SizingFixedSame = 16384, 27 | SizingStretchProp = 24576, 28 | SizingStretchSame = 32768, 29 | NoHostExtendX = 65536, 30 | NoHostExtendY = 131072, 31 | NoKeepColumnsVisible = 262144, 32 | PreciseWidths = 524288, 33 | NoClip = 1048576, 34 | PadOuterX = 2097152, 35 | NoPadOuterX = 4194304, 36 | NoPadInnerX = 8388608, 37 | ScrollX = 16777216, 38 | ScrollY = 33554432, 39 | SortMulti = 67108864, 40 | SortTristate = 134217728, 41 | HighlightHoveredColumn = 268435456, 42 | SizingMask = 57344, 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableSortSpecs.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiTableSortSpecs 7 | { 8 | public ImGuiTableColumnSortSpecs* Specs; 9 | public int SpecsCount; 10 | public byte SpecsDirty; 11 | } 12 | public unsafe partial struct ImGuiTableSortSpecsPtr 13 | { 14 | public ImGuiTableSortSpecs* NativePtr { get; } 15 | public ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => NativePtr = nativePtr; 16 | public ImGuiTableSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableSortSpecs*)nativePtr; 17 | public static implicit operator ImGuiTableSortSpecsPtr(ImGuiTableSortSpecs* nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr); 18 | public static implicit operator ImGuiTableSortSpecs* (ImGuiTableSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImGuiTableSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableSortSpecsPtr(nativePtr); 20 | public ImGuiTableColumnSortSpecsPtr Specs => new ImGuiTableColumnSortSpecsPtr(NativePtr->Specs); 21 | public ref int SpecsCount => ref Unsafe.AsRef(&NativePtr->SpecsCount); 22 | public ref bool SpecsDirty => ref Unsafe.AsRef(&NativePtr->SpecsDirty); 23 | public void Destroy() 24 | { 25 | ImGuiNative.ImGuiTableSortSpecs_destroy((ImGuiTableSortSpecs*)(NativePtr)); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSizeCallbackData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImGuiSizeCallbackData 8 | { 9 | public void* UserData; 10 | public Vector2 Pos; 11 | public Vector2 CurrentSize; 12 | public Vector2 DesiredSize; 13 | } 14 | public unsafe partial struct ImGuiSizeCallbackDataPtr 15 | { 16 | public ImGuiSizeCallbackData* NativePtr { get; } 17 | public ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => NativePtr = nativePtr; 18 | public ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiSizeCallbackData*)nativePtr; 19 | public static implicit operator ImGuiSizeCallbackDataPtr(ImGuiSizeCallbackData* nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); 20 | public static implicit operator ImGuiSizeCallbackData* (ImGuiSizeCallbackDataPtr wrappedPtr) => wrappedPtr.NativePtr; 21 | public static implicit operator ImGuiSizeCallbackDataPtr(IntPtr nativePtr) => new ImGuiSizeCallbackDataPtr(nativePtr); 22 | public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } 23 | public ref Vector2 Pos => ref Unsafe.AsRef(&NativePtr->Pos); 24 | public ref Vector2 CurrentSize => ref Unsafe.AsRef(&NativePtr->CurrentSize); 25 | public ref Vector2 DesiredSize => ref Unsafe.AsRef(&NativePtr->DesiredSize); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPlatformImeData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImGuiPlatformImeData 8 | { 9 | public byte WantVisible; 10 | public Vector2 InputPos; 11 | public float InputLineHeight; 12 | } 13 | public unsafe partial struct ImGuiPlatformImeDataPtr 14 | { 15 | public ImGuiPlatformImeData* NativePtr { get; } 16 | public ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => NativePtr = nativePtr; 17 | public ImGuiPlatformImeDataPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformImeData*)nativePtr; 18 | public static implicit operator ImGuiPlatformImeDataPtr(ImGuiPlatformImeData* nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr); 19 | public static implicit operator ImGuiPlatformImeData* (ImGuiPlatformImeDataPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImGuiPlatformImeDataPtr(IntPtr nativePtr) => new ImGuiPlatformImeDataPtr(nativePtr); 21 | public ref bool WantVisible => ref Unsafe.AsRef(&NativePtr->WantVisible); 22 | public ref Vector2 InputPos => ref Unsafe.AsRef(&NativePtr->InputPos); 23 | public ref float InputLineHeight => ref Unsafe.AsRef(&NativePtr->InputLineHeight); 24 | public void Destroy() 25 | { 26 | ImGuiNative.ImGuiPlatformImeData_destroy((ImGuiPlatformImeData*)(NativePtr)); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Samples/Demo Window/UBImGui (Demo Window).prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &3539195955524509239 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 4804683405548802509} 12 | - component: {fileID: 93968612803385804} 13 | m_Layer: 0 14 | m_Name: UBImGui (Demo Window) 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &4804683405548802509 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 3539195955524509239} 27 | serializedVersion: 2 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 0} 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | --- !u!114 &93968612803385804 36 | MonoBehaviour: 37 | m_ObjectHideFlags: 0 38 | m_CorrespondingSourceObject: {fileID: 0} 39 | m_PrefabInstance: {fileID: 0} 40 | m_PrefabAsset: {fileID: 0} 41 | m_GameObject: {fileID: 3539195955524509239} 42 | m_Enabled: 1 43 | m_EditorHideFlags: 0 44 | m_Script: {fileID: 11500000, guid: 62a2a7e47e198a94c980135733743019, type: 3} 45 | m_Name: 46 | m_EditorClassIdentifier: 47 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/StbTexteditRow.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct StbTexteditRow 7 | { 8 | public float x0; 9 | public float x1; 10 | public float baseline_y_delta; 11 | public float ymin; 12 | public float ymax; 13 | public int num_chars; 14 | } 15 | public unsafe partial struct StbTexteditRowPtr 16 | { 17 | public StbTexteditRow* NativePtr { get; } 18 | public StbTexteditRowPtr(StbTexteditRow* nativePtr) => NativePtr = nativePtr; 19 | public StbTexteditRowPtr(IntPtr nativePtr) => NativePtr = (StbTexteditRow*)nativePtr; 20 | public static implicit operator StbTexteditRowPtr(StbTexteditRow* nativePtr) => new StbTexteditRowPtr(nativePtr); 21 | public static implicit operator StbTexteditRow* (StbTexteditRowPtr wrappedPtr) => wrappedPtr.NativePtr; 22 | public static implicit operator StbTexteditRowPtr(IntPtr nativePtr) => new StbTexteditRowPtr(nativePtr); 23 | public ref float x0 => ref Unsafe.AsRef(&NativePtr->x0); 24 | public ref float x1 => ref Unsafe.AsRef(&NativePtr->x1); 25 | public ref float baseline_y_delta => ref Unsafe.AsRef(&NativePtr->baseline_y_delta); 26 | public ref float ymin => ref Unsafe.AsRef(&NativePtr->ymin); 27 | public ref float ymax => ref Unsafe.AsRef(&NativePtr->ymax); 28 | public ref int num_chars => ref Unsafe.AsRef(&NativePtr->num_chars); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Runtime/UBImGui.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UBImGui", 3 | "rootNamespace": "UBImGui", 4 | "references": [ 5 | "GUID:15fc0a57446b3144c949da3e2b9737a9", 6 | "GUID:df380645f10b7bc4b97d4f5eb6303d95", 7 | "GUID:457756d89b35d2941b3e7b37b4ece6f1", 8 | "GUID:75469ad4d38634e559750d17036d5f7c" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": true, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": true, 16 | "defineConstraints": [], 17 | "versionDefines": [ 18 | { 19 | "name": "com.unity.render-pipelines.universal", 20 | "expression": "0.0.0", 21 | "define": "PACKAGE_UNIVERSAL_RP" 22 | }, 23 | { 24 | "name": "com.unity.render-pipelines.high-definition", 25 | "expression": "0.0.0", 26 | "define": "PACKAGE_HIGH_DEFINITION_RP" 27 | }, 28 | { 29 | "name": "com.unity.inputsystem", 30 | "expression": "0.0.0", 31 | "define": "PACKAGE_INPUT_SYSTEM" 32 | }, 33 | { 34 | "name": "com.unity.render-pipelines.universal", 35 | "expression": "17.0.0", 36 | "define": "PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER" 37 | }, 38 | { 39 | "name": "com.unity.render-pipelines.high-definition", 40 | "expression": "9.0", 41 | "define": "PACKAGE_HIGH_DEFINITION_RP_9_0_OR_NEWER" 42 | } 43 | ], 44 | "noEngineReferences": false 45 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Recordings can get excessive in size 18 | /[Rr]ecordings/ 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | *.app 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | # Packed Addressables 68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 69 | 70 | # Temporary auto-generated Android Assets 71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 72 | /[Aa]ssets/[Ss]treamingAssets/aa/* 73 | DefinesGuide.txt 74 | DefinesGuide.txt.meta 75 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionRequest.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiSelectionRequest 7 | { 8 | public ImGuiSelectionRequestType Type; 9 | public byte Selected; 10 | public sbyte RangeDirection; 11 | public long RangeFirstItem; 12 | public long RangeLastItem; 13 | } 14 | public unsafe partial struct ImGuiSelectionRequestPtr 15 | { 16 | public ImGuiSelectionRequest* NativePtr { get; } 17 | public ImGuiSelectionRequestPtr(ImGuiSelectionRequest* nativePtr) => NativePtr = nativePtr; 18 | public ImGuiSelectionRequestPtr(IntPtr nativePtr) => NativePtr = (ImGuiSelectionRequest*)nativePtr; 19 | public static implicit operator ImGuiSelectionRequestPtr(ImGuiSelectionRequest* nativePtr) => new ImGuiSelectionRequestPtr(nativePtr); 20 | public static implicit operator ImGuiSelectionRequest* (ImGuiSelectionRequestPtr wrappedPtr) => wrappedPtr.NativePtr; 21 | public static implicit operator ImGuiSelectionRequestPtr(IntPtr nativePtr) => new ImGuiSelectionRequestPtr(nativePtr); 22 | public ref ImGuiSelectionRequestType Type => ref Unsafe.AsRef(&NativePtr->Type); 23 | public ref bool Selected => ref Unsafe.AsRef(&NativePtr->Selected); 24 | public ref sbyte RangeDirection => ref Unsafe.AsRef(&NativePtr->RangeDirection); 25 | public ref long RangeFirstItem => ref Unsafe.AsRef(&NativePtr->RangeFirstItem); 26 | public ref long RangeLastItem => ref Unsafe.AsRef(&NativePtr->RangeLastItem); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTextRange.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ImGuiNET 4 | { 5 | public unsafe partial struct ImGuiTextRange 6 | { 7 | public byte* b; 8 | public byte* e; 9 | } 10 | public unsafe partial struct ImGuiTextRangePtr 11 | { 12 | public ImGuiTextRange* NativePtr { get; } 13 | public ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => NativePtr = nativePtr; 14 | public ImGuiTextRangePtr(IntPtr nativePtr) => NativePtr = (ImGuiTextRange*)nativePtr; 15 | public static implicit operator ImGuiTextRangePtr(ImGuiTextRange* nativePtr) => new ImGuiTextRangePtr(nativePtr); 16 | public static implicit operator ImGuiTextRange* (ImGuiTextRangePtr wrappedPtr) => wrappedPtr.NativePtr; 17 | public static implicit operator ImGuiTextRangePtr(IntPtr nativePtr) => new ImGuiTextRangePtr(nativePtr); 18 | public IntPtr b { get => (IntPtr)NativePtr->b; set => NativePtr->b = (byte*)value; } 19 | public IntPtr e { get => (IntPtr)NativePtr->e; set => NativePtr->e = (byte*)value; } 20 | public void Destroy() 21 | { 22 | ImGuiNative.ImGuiTextRange_destroy((ImGuiTextRange*)(NativePtr)); 23 | } 24 | public bool empty() 25 | { 26 | byte ret = ImGuiNative.ImGuiTextRange_empty((ImGuiTextRange*)(NativePtr)); 27 | return ret != 0; 28 | } 29 | public void split(byte separator, out ImVector @out) 30 | { 31 | fixed (ImVector* native_out = &@out) 32 | { 33 | ImGuiNative.ImGuiTextRange_split((ImGuiTextRange*)(NativePtr), separator, native_out); 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Editor/Editors/StyleAssetEditor.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using UnityEditor; 3 | using UnityEditor.UIElements; 4 | using UnityEngine; 5 | using UnityEngine.UIElements; 6 | 7 | namespace UBImGui.Editor 8 | { 9 | [CustomEditor(typeof(ImGuiStyleAsset))] 10 | public class StyleAssetEditor : UnityEditor.Editor 11 | { 12 | public override VisualElement CreateInspectorGUI() 13 | { 14 | var root = new VisualElement(); 15 | InspectorElement.FillDefaultInspector(root, serializedObject, this); 16 | 17 | var colorsFoldout = new Foldout 18 | { 19 | text = "Colors", 20 | style = 21 | { 22 | maxHeight = 500, 23 | backgroundColor = new Color(0, 0, 0, 0.1f) 24 | } 25 | }; 26 | colorsFoldout.viewDataKey = "UBImGui.ColorsFoldout"; 27 | root.Add(colorsFoldout); 28 | 29 | var scrollView = new ScrollView(ScrollViewMode.Vertical); 30 | colorsFoldout.Add(scrollView); 31 | var styleAsset = (ImGuiStyleAsset)target; 32 | 33 | for (int i = 0; i < (int)ImGuiCol.COUNT; i++) 34 | { 35 | var colorField = new ColorField(ImGui.GetStyleColorName((ImGuiCol)i)); 36 | colorField.value = styleAsset.Colors[i]; 37 | var i1 = i; 38 | colorField.RegisterValueChangedCallback(evt => 39 | { 40 | styleAsset.Colors[i1] = evt.newValue; 41 | EditorUtility.SetDirty(target); 42 | }); 43 | scrollView.Add(colorField); 44 | } 45 | 46 | return root; 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiTableColumnSortSpecs.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiTableColumnSortSpecs 7 | { 8 | public uint ColumnUserID; 9 | public short ColumnIndex; 10 | public short SortOrder; 11 | public ImGuiSortDirection SortDirection; 12 | } 13 | public unsafe partial struct ImGuiTableColumnSortSpecsPtr 14 | { 15 | public ImGuiTableColumnSortSpecs* NativePtr { get; } 16 | public ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => NativePtr = nativePtr; 17 | public ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => NativePtr = (ImGuiTableColumnSortSpecs*)nativePtr; 18 | public static implicit operator ImGuiTableColumnSortSpecsPtr(ImGuiTableColumnSortSpecs* nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr); 19 | public static implicit operator ImGuiTableColumnSortSpecs* (ImGuiTableColumnSortSpecsPtr wrappedPtr) => wrappedPtr.NativePtr; 20 | public static implicit operator ImGuiTableColumnSortSpecsPtr(IntPtr nativePtr) => new ImGuiTableColumnSortSpecsPtr(nativePtr); 21 | public ref uint ColumnUserID => ref Unsafe.AsRef(&NativePtr->ColumnUserID); 22 | public ref short ColumnIndex => ref Unsafe.AsRef(&NativePtr->ColumnIndex); 23 | public ref short SortOrder => ref Unsafe.AsRef(&NativePtr->SortOrder); 24 | public ref ImGuiSortDirection SortDirection => ref Unsafe.AsRef(&NativePtr->SortDirection); 25 | public void Destroy() 26 | { 27 | ImGuiNative.ImGuiTableColumnSortSpecs_destroy((ImGuiTableColumnSortSpecs*)(NativePtr)); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiMultiSelectIO.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiMultiSelectIO 7 | { 8 | public ImVector Requests; 9 | public long RangeSrcItem; 10 | public long NavIdItem; 11 | public byte NavIdSelected; 12 | public byte RangeSrcReset; 13 | public int ItemsCount; 14 | } 15 | public unsafe partial struct ImGuiMultiSelectIOPtr 16 | { 17 | public ImGuiMultiSelectIO* NativePtr { get; } 18 | public ImGuiMultiSelectIOPtr(ImGuiMultiSelectIO* nativePtr) => NativePtr = nativePtr; 19 | public ImGuiMultiSelectIOPtr(IntPtr nativePtr) => NativePtr = (ImGuiMultiSelectIO*)nativePtr; 20 | public static implicit operator ImGuiMultiSelectIOPtr(ImGuiMultiSelectIO* nativePtr) => new ImGuiMultiSelectIOPtr(nativePtr); 21 | public static implicit operator ImGuiMultiSelectIO* (ImGuiMultiSelectIOPtr wrappedPtr) => wrappedPtr.NativePtr; 22 | public static implicit operator ImGuiMultiSelectIOPtr(IntPtr nativePtr) => new ImGuiMultiSelectIOPtr(nativePtr); 23 | public ImPtrVector Requests => new ImPtrVector(NativePtr->Requests, Unsafe.SizeOf()); 24 | public ref long RangeSrcItem => ref Unsafe.AsRef(&NativePtr->RangeSrcItem); 25 | public ref long NavIdItem => ref Unsafe.AsRef(&NativePtr->NavIdItem); 26 | public ref bool NavIdSelected => ref Unsafe.AsRef(&NativePtr->NavIdSelected); 27 | public ref bool RangeSrcReset => ref Unsafe.AsRef(&NativePtr->RangeSrcReset); 28 | public ref int ItemsCount => ref Unsafe.AsRef(&NativePtr->ItemsCount); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionExternalStorage.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiSelectionExternalStorage 7 | { 8 | public void* UserData; 9 | public IntPtr AdapterSetItemSelected; 10 | } 11 | public unsafe partial struct ImGuiSelectionExternalStoragePtr 12 | { 13 | public ImGuiSelectionExternalStorage* NativePtr { get; } 14 | public ImGuiSelectionExternalStoragePtr(ImGuiSelectionExternalStorage* nativePtr) => NativePtr = nativePtr; 15 | public ImGuiSelectionExternalStoragePtr(IntPtr nativePtr) => NativePtr = (ImGuiSelectionExternalStorage*)nativePtr; 16 | public static implicit operator ImGuiSelectionExternalStoragePtr(ImGuiSelectionExternalStorage* nativePtr) => new ImGuiSelectionExternalStoragePtr(nativePtr); 17 | public static implicit operator ImGuiSelectionExternalStorage* (ImGuiSelectionExternalStoragePtr wrappedPtr) => wrappedPtr.NativePtr; 18 | public static implicit operator ImGuiSelectionExternalStoragePtr(IntPtr nativePtr) => new ImGuiSelectionExternalStoragePtr(nativePtr); 19 | public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } 20 | public ref IntPtr AdapterSetItemSelected => ref Unsafe.AsRef(&NativePtr->AdapterSetItemSelected); 21 | public void ApplyRequests(ImGuiMultiSelectIOPtr ms_io) 22 | { 23 | ImGuiMultiSelectIO* native_ms_io = ms_io.NativePtr; 24 | ImGuiNative.ImGuiSelectionExternalStorage_ApplyRequests((ImGuiSelectionExternalStorage*)(NativePtr), native_ms_io); 25 | } 26 | public void Destroy() 27 | { 28 | ImGuiNative.ImGuiSelectionExternalStorage_destroy((ImGuiSelectionExternalStorage*)(NativePtr)); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImColor.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImColor 8 | { 9 | public Vector4 Value; 10 | } 11 | public unsafe partial struct ImColorPtr 12 | { 13 | public ImColor* NativePtr { get; } 14 | public ImColorPtr(ImColor* nativePtr) => NativePtr = nativePtr; 15 | public ImColorPtr(IntPtr nativePtr) => NativePtr = (ImColor*)nativePtr; 16 | public static implicit operator ImColorPtr(ImColor* nativePtr) => new ImColorPtr(nativePtr); 17 | public static implicit operator ImColor* (ImColorPtr wrappedPtr) => wrappedPtr.NativePtr; 18 | public static implicit operator ImColorPtr(IntPtr nativePtr) => new ImColorPtr(nativePtr); 19 | public ref Vector4 Value => ref Unsafe.AsRef(&NativePtr->Value); 20 | public void Destroy() 21 | { 22 | ImGuiNative.ImColor_destroy((ImColor*)(NativePtr)); 23 | } 24 | public ImColor HSV(float h, float s, float v) 25 | { 26 | ImColor __retval; 27 | float a = 1.0f; 28 | ImGuiNative.ImColor_HSV(&__retval, h, s, v, a); 29 | return __retval; 30 | } 31 | public ImColor HSV(float h, float s, float v, float a) 32 | { 33 | ImColor __retval; 34 | ImGuiNative.ImColor_HSV(&__retval, h, s, v, a); 35 | return __retval; 36 | } 37 | public void SetHSV(float h, float s, float v) 38 | { 39 | float a = 1.0f; 40 | ImGuiNative.ImColor_SetHSV((ImColor*)(NativePtr), h, s, v, a); 41 | } 42 | public void SetHSV(float h, float s, float v, float a) 43 | { 44 | ImGuiNative.ImColor_SetHSV((ImColor*)(NativePtr), h, s, v, a); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiPlatformMonitor.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImGuiPlatformMonitor 8 | { 9 | public Vector2 MainPos; 10 | public Vector2 MainSize; 11 | public Vector2 WorkPos; 12 | public Vector2 WorkSize; 13 | public float DpiScale; 14 | public void* PlatformHandle; 15 | } 16 | public unsafe partial struct ImGuiPlatformMonitorPtr 17 | { 18 | public ImGuiPlatformMonitor* NativePtr { get; } 19 | public ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => NativePtr = nativePtr; 20 | public ImGuiPlatformMonitorPtr(IntPtr nativePtr) => NativePtr = (ImGuiPlatformMonitor*)nativePtr; 21 | public static implicit operator ImGuiPlatformMonitorPtr(ImGuiPlatformMonitor* nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr); 22 | public static implicit operator ImGuiPlatformMonitor* (ImGuiPlatformMonitorPtr wrappedPtr) => wrappedPtr.NativePtr; 23 | public static implicit operator ImGuiPlatformMonitorPtr(IntPtr nativePtr) => new ImGuiPlatformMonitorPtr(nativePtr); 24 | public ref Vector2 MainPos => ref Unsafe.AsRef(&NativePtr->MainPos); 25 | public ref Vector2 MainSize => ref Unsafe.AsRef(&NativePtr->MainSize); 26 | public ref Vector2 WorkPos => ref Unsafe.AsRef(&NativePtr->WorkPos); 27 | public ref Vector2 WorkSize => ref Unsafe.AsRef(&NativePtr->WorkSize); 28 | public ref float DpiScale => ref Unsafe.AsRef(&NativePtr->DpiScale); 29 | public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; } 30 | public void Destroy() 31 | { 32 | ImGuiNative.ImGuiPlatformMonitor_destroy((ImGuiPlatformMonitor*)(NativePtr)); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiCol.gen.cs: -------------------------------------------------------------------------------- 1 | namespace ImGuiNET 2 | { 3 | public enum ImGuiCol 4 | { 5 | Text = 0, 6 | TextDisabled = 1, 7 | WindowBg = 2, 8 | ChildBg = 3, 9 | PopupBg = 4, 10 | Border = 5, 11 | BorderShadow = 6, 12 | FrameBg = 7, 13 | FrameBgHovered = 8, 14 | FrameBgActive = 9, 15 | TitleBg = 10, 16 | TitleBgActive = 11, 17 | TitleBgCollapsed = 12, 18 | MenuBarBg = 13, 19 | ScrollbarBg = 14, 20 | ScrollbarGrab = 15, 21 | ScrollbarGrabHovered = 16, 22 | ScrollbarGrabActive = 17, 23 | CheckMark = 18, 24 | SliderGrab = 19, 25 | SliderGrabActive = 20, 26 | Button = 21, 27 | ButtonHovered = 22, 28 | ButtonActive = 23, 29 | Header = 24, 30 | HeaderHovered = 25, 31 | HeaderActive = 26, 32 | Separator = 27, 33 | SeparatorHovered = 28, 34 | SeparatorActive = 29, 35 | ResizeGrip = 30, 36 | ResizeGripHovered = 31, 37 | ResizeGripActive = 32, 38 | TabHovered = 33, 39 | Tab = 34, 40 | TabSelected = 35, 41 | TabSelectedOverline = 36, 42 | TabDimmed = 37, 43 | TabDimmedSelected = 38, 44 | TabDimmedSelectedOverline = 39, 45 | DockingPreview = 40, 46 | DockingEmptyBg = 41, 47 | PlotLines = 42, 48 | PlotLinesHovered = 43, 49 | PlotHistogram = 44, 50 | PlotHistogramHovered = 45, 51 | TableHeaderBg = 46, 52 | TableBorderStrong = 47, 53 | TableBorderLight = 48, 54 | TableRowBg = 49, 55 | TableRowBgAlt = 50, 56 | TextLink = 51, 57 | TextSelectedBg = 52, 58 | DragDropTarget = 53, 59 | NavHighlight = 54, 60 | NavWindowingHighlight = 55, 61 | NavWindowingDimBg = 56, 62 | ModalWindowDimBg = 57, 63 | COUNT = 58, 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/UBImGuiSettings.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using UnityEngine; 3 | 4 | namespace UBImGui 5 | { 6 | [CreateAssetMenu(fileName = "UBImGui Settings", menuName = "UB ImGui/Settings")] 7 | public class UBImGuiSettings : ScriptableObject 8 | { 9 | public enum InputMode 10 | { 11 | InputManager, 12 | #if PACKAGE_INPUT_SYSTEM 13 | InputSystem 14 | #endif 15 | } 16 | public ImGuiStyleAsset styleAsset; 17 | public ImGuiFontAsset fontAsset; 18 | public ImGuiCursorAsset cursorAsset; 19 | 20 | [Header("UB ImGui Settings")] 21 | public bool renderInFront; 22 | public InputMode inputMode; 23 | 24 | [Header("Dear ImGui Settings")] 25 | public DearImGuiIOConfig dearImGuiConfig; 26 | 27 | [TextArea(3, 20)] 28 | public string iniSettings; 29 | public uint iniSettingsSize; 30 | 31 | public void ApplyTo(ImGuiStylePtr style, ImGuiIOPtr io) 32 | { 33 | styleAsset?.ApplyTo(style); 34 | dearImGuiConfig.ApplyTo(io); 35 | } 36 | 37 | public void Reset() 38 | { 39 | renderInFront = false; 40 | inputMode = InputMode.InputManager; 41 | dearImGuiConfig.Reset(); 42 | iniSettings = ""; 43 | iniSettingsSize = 0; 44 | } 45 | 46 | public void ResetRecursive() 47 | { 48 | Reset(); 49 | styleAsset.Reset(); 50 | } 51 | 52 | public static UBImGuiSettings CreateTemporary() 53 | { 54 | var asset = CreateInstance(); 55 | asset.Reset(); 56 | asset.IsTemp = true; 57 | asset.styleAsset = ImGuiStyleAsset.Default(); 58 | return asset; 59 | } 60 | 61 | internal bool IsDefault; 62 | internal bool IsTemp; 63 | internal bool IsDirt; 64 | } 65 | } -------------------------------------------------------------------------------- /Resources/Settings/DEFAULT Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d10de0c4c2ae4852902905ccd9b57019, type: 3} 13 | m_Name: DEFAULT Settings 14 | m_EditorClassIdentifier: 15 | styleAsset: {fileID: 11400000, guid: add6a5977e6e7704586c563789be44a6, type: 2} 16 | fontAsset: {fileID: 0} 17 | cursorAsset: {fileID: 0} 18 | renderInFront: 0 19 | inputMode: 0 20 | dearImGuiConfig: 21 | KeyboardNavigation: 1 22 | GamepadNavigation: 0 23 | NavSetMousePos: 0 24 | NavNoCaptureKeyboard: 0 25 | DoubleClickTime: 0.3 26 | DoubleClickMaxDist: 6 27 | DragThreshold: 6 28 | KeyRepeatDelay: 0.275 29 | KeyRepeatRate: 0.05 30 | FontGlobalScale: 1 31 | FontAllowUserScaling: 0 32 | TextCursorBlink: 1 33 | ResizeFromEdges: 1 34 | MoveFromTitleOnly: 0 35 | MemoryCompactTimer: 60 36 | IniSavingRate: 5 37 | DockingEnable: 1 38 | DockingNoSplit: 0 39 | DockingWithShift: 0 40 | DockingAlwaysTabBar: 0 41 | DockingTransparentPayload: 0 42 | InputTextEnterKeepActive: 0 43 | iniSettings: "[Window][Debug##Default]\nPos=60,60\nSize=400,400\nCollapsed=0\n\n[Window][Dear 44 | ImGui Metrics/Debugger]\nPos=240,91\nSize=339,375\nCollapsed=0\n\n[Window][Dear 45 | ImGui Demo]\nPos=635,36\nSize=732,292\nCollapsed=0\nDockId=0x00000002,0\n\n[Window][Test 46 | Window]\nPos=635,330\nSize=732,252\nCollapsed=0\nDockId=0x00000003,0\n\n[Docking][Data]\nDockNode 47 | ID=0x00000001 Pos=635,36 Size=732,546 Split=Y\n DockNode ID=0x00000002 Parent=0x00000001 48 | SizeRef=550,364 Selected=0xE87781F4\n DockNode ID=0x00000003 Parent=0x00000001 49 | SizeRef=550,314 Selected=0x76E46F41\n\n" 50 | iniSettingsSize: 534 51 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x86/cimgui.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 020ce86fd4aa36b4992ecc06d4d38483 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 1 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 0 23 | Exclude WebGL: 1 24 | Exclude Win: 0 25 | Exclude Win64: 0 26 | Exclude WindowsStoreApps: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 31 | settings: 32 | AndroidSharedLibraryType: Executable 33 | CPU: ARMv7 34 | - first: 35 | Any: 36 | second: 37 | enabled: 0 38 | settings: {} 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: AnyOS 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 1 51 | settings: 52 | CPU: None 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 1 57 | settings: 58 | CPU: x86 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 1 63 | settings: 64 | CPU: x86 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 1 69 | settings: 70 | CPU: None 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Linux/cimgui.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7615445deb7ad794ba0a88747ada79a4 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 1 23 | Exclude WebGL: 1 24 | Exclude Win: 0 25 | Exclude Win64: 0 26 | Exclude WindowsStoreApps: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 31 | settings: 32 | AndroidSharedLibraryType: Executable 33 | CPU: ARMv7 34 | - first: 35 | Any: 36 | second: 37 | enabled: 0 38 | settings: {} 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 1 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: Linux 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 1 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 1 63 | settings: 64 | CPU: AnyCPU 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 1 69 | settings: 70 | CPU: AnyCPU 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/Mac/cimgui.dylib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c35c8d6297920df40881c9039bb38469 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 1 22 | Exclude OSXUniversal: 0 23 | Exclude WebGL: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | Exclude WindowsStoreApps: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 31 | settings: 32 | AndroidSharedLibraryType: Executable 33 | CPU: ARMv7 34 | - first: 35 | Any: 36 | second: 37 | enabled: 0 38 | settings: {} 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 1 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: OSX 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 1 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: AnyCPU 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: AnyCPU 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-arm64/cimgui.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05be7a50513f4f842a272652d0a94ee1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | : Any 21 | second: 22 | enabled: 0 23 | settings: 24 | Exclude Android: 0 25 | Exclude Editor: 1 26 | Exclude Linux64: 1 27 | Exclude OSXUniversal: 1 28 | Exclude WebGL: 1 29 | Exclude Win: 1 30 | Exclude Win64: 1 31 | Exclude WindowsStoreApps: 1 32 | - first: 33 | Android: Android 34 | second: 35 | enabled: 1 36 | settings: 37 | AndroidSharedLibraryType: Executable 38 | CPU: ARM64 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: AnyOS 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: AnyCPU 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: AnyCPU 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/android-armv7/cimgui.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a62769968a98fc04eab213c9169956f3 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | : Any 21 | second: 22 | enabled: 0 23 | settings: 24 | Exclude Android: 0 25 | Exclude Editor: 1 26 | Exclude Linux64: 1 27 | Exclude OSXUniversal: 1 28 | Exclude WebGL: 1 29 | Exclude Win: 1 30 | Exclude Win64: 1 31 | Exclude WindowsStoreApps: 1 32 | - first: 33 | Android: Android 34 | second: 35 | enabled: 1 36 | settings: 37 | AndroidSharedLibraryType: Executable 38 | CPU: ARMv7 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: AnyOS 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: AnyCPU 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: AnyCPU 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/plugins/cimgui/win-x64/cimgui.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cc057cf02108804d8448f353d74a655 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 0 21 | Exclude Linux64: 0 22 | Exclude OSXUniversal: 0 23 | Exclude WebGL: 1 24 | Exclude Win: 1 25 | Exclude Win64: 0 26 | Exclude WindowsStoreApps: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 31 | settings: 32 | AndroidSharedLibraryType: Executable 33 | CPU: ARMv7 34 | - first: 35 | Any: 36 | second: 37 | enabled: 0 38 | settings: {} 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 1 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: Windows 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 1 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 1 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: AnyCPU 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 1 69 | settings: 70 | CPU: AnyCPU 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | DontProcess: false 78 | PlaceholderPath: 79 | SDK: AnySDK 80 | ScriptingBackend: AnyScriptingBackend 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawCmd.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImDrawCmd 8 | { 9 | public Vector4 ClipRect; 10 | public IntPtr TextureId; 11 | public uint VtxOffset; 12 | public uint IdxOffset; 13 | public uint ElemCount; 14 | public IntPtr UserCallback; 15 | public void* UserCallbackData; 16 | } 17 | public unsafe partial struct ImDrawCmdPtr 18 | { 19 | public ImDrawCmd* NativePtr { get; } 20 | public ImDrawCmdPtr(ImDrawCmd* nativePtr) => NativePtr = nativePtr; 21 | public ImDrawCmdPtr(IntPtr nativePtr) => NativePtr = (ImDrawCmd*)nativePtr; 22 | public static implicit operator ImDrawCmdPtr(ImDrawCmd* nativePtr) => new ImDrawCmdPtr(nativePtr); 23 | public static implicit operator ImDrawCmd* (ImDrawCmdPtr wrappedPtr) => wrappedPtr.NativePtr; 24 | public static implicit operator ImDrawCmdPtr(IntPtr nativePtr) => new ImDrawCmdPtr(nativePtr); 25 | public ref Vector4 ClipRect => ref Unsafe.AsRef(&NativePtr->ClipRect); 26 | public ref IntPtr TextureId => ref Unsafe.AsRef(&NativePtr->TextureId); 27 | public ref uint VtxOffset => ref Unsafe.AsRef(&NativePtr->VtxOffset); 28 | public ref uint IdxOffset => ref Unsafe.AsRef(&NativePtr->IdxOffset); 29 | public ref uint ElemCount => ref Unsafe.AsRef(&NativePtr->ElemCount); 30 | public ref IntPtr UserCallback => ref Unsafe.AsRef(&NativePtr->UserCallback); 31 | public IntPtr UserCallbackData { get => (IntPtr)NativePtr->UserCallbackData; set => NativePtr->UserCallbackData = (void*)value; } 32 | public void Destroy() 33 | { 34 | ImGuiNative.ImDrawCmd_destroy((ImDrawCmd*)(NativePtr)); 35 | } 36 | public IntPtr GetTexID() 37 | { 38 | IntPtr ret = ImGuiNative.ImDrawCmd_GetTexID((ImDrawCmd*)(NativePtr)); 39 | return ret; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/RangeAccessor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using System.Text; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe struct RangeAccessor where T : struct 8 | { 9 | private static readonly int s_sizeOfT = Unsafe.SizeOf(); 10 | 11 | public readonly void* Data; 12 | public readonly int Count; 13 | 14 | public RangeAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } 15 | public RangeAccessor(void* data, int count) 16 | { 17 | Data = data; 18 | Count = count; 19 | } 20 | 21 | public ref T this[int index] 22 | { 23 | get 24 | { 25 | if (index < 0 || index >= Count) 26 | { 27 | throw new IndexOutOfRangeException(); 28 | } 29 | 30 | return ref Unsafe.AsRef((byte*)Data + s_sizeOfT * index); 31 | } 32 | } 33 | } 34 | 35 | public unsafe struct RangePtrAccessor where T : struct 36 | { 37 | public readonly void* Data; 38 | public readonly int Count; 39 | 40 | public RangePtrAccessor(IntPtr data, int count) : this(data.ToPointer(), count) { } 41 | public RangePtrAccessor(void* data, int count) 42 | { 43 | Data = data; 44 | Count = count; 45 | } 46 | 47 | public T this[int index] 48 | { 49 | get 50 | { 51 | if (index < 0 || index >= Count) 52 | { 53 | throw new IndexOutOfRangeException(); 54 | } 55 | 56 | return Unsafe.Read((byte*)Data + sizeof(void*) * index); 57 | } 58 | } 59 | } 60 | 61 | public static class RangeAccessorExtensions 62 | { 63 | public static unsafe string GetStringASCII(this RangeAccessor stringAccessor) 64 | { 65 | return Encoding.ASCII.GetString((byte*)stringAccessor.Data, stringAccessor.Count); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Samples/Simple Window/SimpleWindow.cs: -------------------------------------------------------------------------------- 1 | using ImGuiNET; 2 | using UnityEngine; 3 | 4 | namespace UBImGui.Samples 5 | { 6 | public class SimpleWindow : MonoBehaviour 7 | { 8 | private void OnEnable() 9 | { 10 | ImGui.Layout += OnLayout; 11 | } 12 | 13 | private void OnDisable() 14 | { 15 | ImGui.Layout -= OnLayout; 16 | } 17 | 18 | // Fields to be used in the window 19 | private bool enableFields; 20 | // As this string is not serialized (public or [SerializeField]), it is necessary to initialize it before using 21 | private string textValue = ""; 22 | private float sliderValue; 23 | private Vector3 vector3Value; 24 | 25 | private void OnLayout() 26 | { 27 | // Begin a new window called "Simple Window" 28 | // If the window is collapsed, there is no need to create widgets (no need to call ImGui.End()) 29 | if (ImGui.Begin("Simple Window")) 30 | { 31 | // Add some text to the window 32 | ImGui.Text("Im a text"); 33 | 34 | // If the button is clicked, log a message to the console 35 | if (ImGui.Button("Click Me!")) 36 | { 37 | Debug.Log("Thanks :)"); 38 | } 39 | 40 | // Add a checkbox to enable/disable fields 41 | ImGui.Checkbox("Toggle Fields", ref enableFields); 42 | 43 | // If fields are enabled, add widgets 44 | if (enableFields) 45 | { 46 | // Add input fields for text, slider, and vector3 47 | ImGui.InputText("Text Field", ref textValue, 100); 48 | ImGui.SliderFloat("Slider Field", ref sliderValue, 0, 100); 49 | ImGui.SliderFloat3("Vector3 Field", ref vector3Value, -10, 10); 50 | } 51 | 52 | // End the "Simple Window" 53 | ImGui.End(); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontGlyph.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImFontGlyph 7 | { 8 | public uint Colored; 9 | public uint Visible; 10 | public uint Codepoint; 11 | public float AdvanceX; 12 | public float X0; 13 | public float Y0; 14 | public float X1; 15 | public float Y1; 16 | public float U0; 17 | public float V0; 18 | public float U1; 19 | public float V1; 20 | } 21 | public unsafe partial struct ImFontGlyphPtr 22 | { 23 | public ImFontGlyph* NativePtr { get; } 24 | public ImFontGlyphPtr(ImFontGlyph* nativePtr) => NativePtr = nativePtr; 25 | public ImFontGlyphPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyph*)nativePtr; 26 | public static implicit operator ImFontGlyphPtr(ImFontGlyph* nativePtr) => new ImFontGlyphPtr(nativePtr); 27 | public static implicit operator ImFontGlyph* (ImFontGlyphPtr wrappedPtr) => wrappedPtr.NativePtr; 28 | public static implicit operator ImFontGlyphPtr(IntPtr nativePtr) => new ImFontGlyphPtr(nativePtr); 29 | public ref uint Colored => ref Unsafe.AsRef(&NativePtr->Colored); 30 | public ref uint Visible => ref Unsafe.AsRef(&NativePtr->Visible); 31 | public ref uint Codepoint => ref Unsafe.AsRef(&NativePtr->Codepoint); 32 | public ref float AdvanceX => ref Unsafe.AsRef(&NativePtr->AdvanceX); 33 | public ref float X0 => ref Unsafe.AsRef(&NativePtr->X0); 34 | public ref float Y0 => ref Unsafe.AsRef(&NativePtr->Y0); 35 | public ref float X1 => ref Unsafe.AsRef(&NativePtr->X1); 36 | public ref float Y1 => ref Unsafe.AsRef(&NativePtr->Y1); 37 | public ref float U0 => ref Unsafe.AsRef(&NativePtr->U0); 38 | public ref float V0 => ref Unsafe.AsRef(&NativePtr->V0); 39 | public ref float U1 => ref Unsafe.AsRef(&NativePtr->U1); 40 | public ref float V1 => ref Unsafe.AsRef(&NativePtr->V1); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontAtlasCustomRect.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImFontAtlasCustomRect 8 | { 9 | public ushort Width; 10 | public ushort Height; 11 | public ushort X; 12 | public ushort Y; 13 | public uint GlyphID; 14 | public float GlyphAdvanceX; 15 | public Vector2 GlyphOffset; 16 | public ImFont* Font; 17 | } 18 | public unsafe partial struct ImFontAtlasCustomRectPtr 19 | { 20 | public ImFontAtlasCustomRect* NativePtr { get; } 21 | public ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => NativePtr = nativePtr; 22 | public ImFontAtlasCustomRectPtr(IntPtr nativePtr) => NativePtr = (ImFontAtlasCustomRect*)nativePtr; 23 | public static implicit operator ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); 24 | public static implicit operator ImFontAtlasCustomRect* (ImFontAtlasCustomRectPtr wrappedPtr) => wrappedPtr.NativePtr; 25 | public static implicit operator ImFontAtlasCustomRectPtr(IntPtr nativePtr) => new ImFontAtlasCustomRectPtr(nativePtr); 26 | public ref ushort Width => ref Unsafe.AsRef(&NativePtr->Width); 27 | public ref ushort Height => ref Unsafe.AsRef(&NativePtr->Height); 28 | public ref ushort X => ref Unsafe.AsRef(&NativePtr->X); 29 | public ref ushort Y => ref Unsafe.AsRef(&NativePtr->Y); 30 | public ref uint GlyphID => ref Unsafe.AsRef(&NativePtr->GlyphID); 31 | public ref float GlyphAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphAdvanceX); 32 | public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&NativePtr->GlyphOffset); 33 | public ImFontPtr Font => new ImFontPtr(NativePtr->Font); 34 | public void Destroy() 35 | { 36 | ImGuiNative.ImFontAtlasCustomRect_destroy((ImFontAtlasCustomRect*)(NativePtr)); 37 | } 38 | public bool IsPacked() 39 | { 40 | byte ret = ImGuiNative.ImFontAtlasCustomRect_IsPacked((ImFontAtlasCustomRect*)(NativePtr)); 41 | return ret != 0; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/ImVector.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe struct ImVector 7 | { 8 | public readonly int Size; 9 | public readonly int Capacity; 10 | public readonly IntPtr Data; 11 | 12 | public ImVector(int size, int capacity, IntPtr data) 13 | { 14 | Size = size; 15 | Capacity = capacity; 16 | Data = data; 17 | } 18 | 19 | public ref T Ref(int index) 20 | { 21 | return ref Unsafe.AsRef((byte*)Data + index * Unsafe.SizeOf()); 22 | } 23 | 24 | public IntPtr Address(int index) 25 | { 26 | return (IntPtr)((byte*)Data + index * Unsafe.SizeOf()); 27 | } 28 | } 29 | 30 | public unsafe struct ImVector 31 | { 32 | public readonly int Size; 33 | public readonly int Capacity; 34 | public readonly IntPtr Data; 35 | 36 | public ImVector(ImVector vector) 37 | { 38 | Size = vector.Size; 39 | Capacity = vector.Capacity; 40 | Data = vector.Data; 41 | } 42 | 43 | public ImVector(int size, int capacity, IntPtr data) 44 | { 45 | Size = size; 46 | Capacity = capacity; 47 | Data = data; 48 | } 49 | 50 | public ref T this[int index] => ref Unsafe.AsRef((byte*)Data + index * Unsafe.SizeOf()); 51 | } 52 | 53 | public unsafe struct ImPtrVector 54 | { 55 | public readonly int Size; 56 | public readonly int Capacity; 57 | public readonly IntPtr Data; 58 | private readonly int _stride; 59 | 60 | public ImPtrVector(ImVector vector, int stride) 61 | : this(vector.Size, vector.Capacity, vector.Data, stride) 62 | { } 63 | 64 | public ImPtrVector(int size, int capacity, IntPtr data, int stride) 65 | { 66 | Size = size; 67 | Capacity = capacity; 68 | Data = data; 69 | _stride = stride; 70 | } 71 | 72 | public T this[int index] 73 | { 74 | get 75 | { 76 | byte* address = (byte*)Data + index * _stride; 77 | T ret = Unsafe.Read(&address); 78 | return ret; 79 | } 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/ImGuiCursorAsset.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ImGuiNET; 3 | using UnityEngine; 4 | 5 | namespace UBImGui 6 | { 7 | [CreateAssetMenu(fileName = "ImGui Cursor", menuName = "UB ImGui/Cursor")] 8 | public class ImGuiCursorAsset : ScriptableObject 9 | { 10 | [Serializable] 11 | public struct CursorShape 12 | { 13 | public Texture2D texture; 14 | public Vector2 hotspot; 15 | } 16 | 17 | [Tooltip("Default.")] 18 | public CursorShape Arrow; 19 | 20 | [Tooltip("When hovering over InputText.")] 21 | public CursorShape TextInput; 22 | 23 | [Tooltip("(Unused by ImGui functions)")] 24 | public CursorShape ResizeAll; 25 | 26 | [Tooltip("When hovering over an horizontal border")] 27 | public CursorShape ResizeEW; 28 | 29 | [Tooltip("When hovering over a vertical border or column")] 30 | public CursorShape ResizeNS; 31 | 32 | [Tooltip("When hovering over the bottom-left corner of a window")] 33 | public CursorShape ResizeNESW; 34 | 35 | [Tooltip("When hovering over the bottom-right corner of a window")] 36 | public CursorShape ResizeNWSE; 37 | 38 | [Tooltip("(Unused by ImGui functions. Use for e.g. hyperlinks)")] 39 | public CursorShape Hand; 40 | 41 | [Tooltip("When hovering something with disabled interaction.")] 42 | public CursorShape NotAllowed; 43 | 44 | public ref CursorShape this[ImGuiMouseCursor cursor] 45 | { 46 | get 47 | { 48 | switch (cursor) 49 | { 50 | case ImGuiMouseCursor.Arrow: return ref Arrow; 51 | case ImGuiMouseCursor.TextInput: return ref TextInput; 52 | case ImGuiMouseCursor.ResizeAll: return ref ResizeAll; 53 | case ImGuiMouseCursor.ResizeEW: return ref ResizeEW; 54 | case ImGuiMouseCursor.ResizeNS: return ref ResizeNS; 55 | case ImGuiMouseCursor.ResizeNESW: return ref ResizeNESW; 56 | case ImGuiMouseCursor.ResizeNWSE: return ref ResizeNWSE; 57 | case ImGuiMouseCursor.Hand: return ref Hand; 58 | case ImGuiMouseCursor.NotAllowed: return ref NotAllowed; 59 | default: return ref Arrow; 60 | } 61 | } 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiWindowClass.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiWindowClass 7 | { 8 | public uint ClassId; 9 | public uint ParentViewportId; 10 | public uint FocusRouteParentWindowId; 11 | public ImGuiViewportFlags ViewportFlagsOverrideSet; 12 | public ImGuiViewportFlags ViewportFlagsOverrideClear; 13 | public ImGuiTabItemFlags TabItemFlagsOverrideSet; 14 | public ImGuiDockNodeFlags DockNodeFlagsOverrideSet; 15 | public byte DockingAlwaysTabBar; 16 | public byte DockingAllowUnclassed; 17 | } 18 | public unsafe partial struct ImGuiWindowClassPtr 19 | { 20 | public ImGuiWindowClass* NativePtr { get; } 21 | public ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => NativePtr = nativePtr; 22 | public ImGuiWindowClassPtr(IntPtr nativePtr) => NativePtr = (ImGuiWindowClass*)nativePtr; 23 | public static implicit operator ImGuiWindowClassPtr(ImGuiWindowClass* nativePtr) => new ImGuiWindowClassPtr(nativePtr); 24 | public static implicit operator ImGuiWindowClass* (ImGuiWindowClassPtr wrappedPtr) => wrappedPtr.NativePtr; 25 | public static implicit operator ImGuiWindowClassPtr(IntPtr nativePtr) => new ImGuiWindowClassPtr(nativePtr); 26 | public ref uint ClassId => ref Unsafe.AsRef(&NativePtr->ClassId); 27 | public ref uint ParentViewportId => ref Unsafe.AsRef(&NativePtr->ParentViewportId); 28 | public ref uint FocusRouteParentWindowId => ref Unsafe.AsRef(&NativePtr->FocusRouteParentWindowId); 29 | public ref ImGuiViewportFlags ViewportFlagsOverrideSet => ref Unsafe.AsRef(&NativePtr->ViewportFlagsOverrideSet); 30 | public ref ImGuiViewportFlags ViewportFlagsOverrideClear => ref Unsafe.AsRef(&NativePtr->ViewportFlagsOverrideClear); 31 | public ref ImGuiTabItemFlags TabItemFlagsOverrideSet => ref Unsafe.AsRef(&NativePtr->TabItemFlagsOverrideSet); 32 | public ref ImGuiDockNodeFlags DockNodeFlagsOverrideSet => ref Unsafe.AsRef(&NativePtr->DockNodeFlagsOverrideSet); 33 | public ref bool DockingAlwaysTabBar => ref Unsafe.AsRef(&NativePtr->DockingAlwaysTabBar); 34 | public ref bool DockingAllowUnclassed => ref Unsafe.AsRef(&NativePtr->DockingAllowUnclassed); 35 | public void Destroy() 36 | { 37 | ImGuiNative.ImGuiWindowClass_destroy((ImGuiWindowClass*)(NativePtr)); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawListSplitter.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImDrawListSplitter 7 | { 8 | public int _Current; 9 | public int _Count; 10 | public ImVector _Channels; 11 | } 12 | public unsafe partial struct ImDrawListSplitterPtr 13 | { 14 | public ImDrawListSplitter* NativePtr { get; } 15 | public ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => NativePtr = nativePtr; 16 | public ImDrawListSplitterPtr(IntPtr nativePtr) => NativePtr = (ImDrawListSplitter*)nativePtr; 17 | public static implicit operator ImDrawListSplitterPtr(ImDrawListSplitter* nativePtr) => new ImDrawListSplitterPtr(nativePtr); 18 | public static implicit operator ImDrawListSplitter* (ImDrawListSplitterPtr wrappedPtr) => wrappedPtr.NativePtr; 19 | public static implicit operator ImDrawListSplitterPtr(IntPtr nativePtr) => new ImDrawListSplitterPtr(nativePtr); 20 | public ref int _Current => ref Unsafe.AsRef(&NativePtr->_Current); 21 | public ref int _Count => ref Unsafe.AsRef(&NativePtr->_Count); 22 | public ImPtrVector _Channels => new ImPtrVector(NativePtr->_Channels, Unsafe.SizeOf()); 23 | public void Clear() 24 | { 25 | ImGuiNative.ImDrawListSplitter_Clear((ImDrawListSplitter*)(NativePtr)); 26 | } 27 | public void ClearFreeMemory() 28 | { 29 | ImGuiNative.ImDrawListSplitter_ClearFreeMemory((ImDrawListSplitter*)(NativePtr)); 30 | } 31 | public void Destroy() 32 | { 33 | ImGuiNative.ImDrawListSplitter_destroy((ImDrawListSplitter*)(NativePtr)); 34 | } 35 | public void Merge(ImDrawListPtr draw_list) 36 | { 37 | ImDrawList* native_draw_list = draw_list.NativePtr; 38 | ImGuiNative.ImDrawListSplitter_Merge((ImDrawListSplitter*)(NativePtr), native_draw_list); 39 | } 40 | public void SetCurrentChannel(ImDrawListPtr draw_list, int channel_idx) 41 | { 42 | ImDrawList* native_draw_list = draw_list.NativePtr; 43 | ImGuiNative.ImDrawListSplitter_SetCurrentChannel((ImDrawListSplitter*)(NativePtr), native_draw_list, channel_idx); 44 | } 45 | public void Split(ImDrawListPtr draw_list, int count) 46 | { 47 | ImDrawList* native_draw_list = draw_list.NativePtr; 48 | ImGuiNative.ImDrawListSplitter_Split((ImDrawListSplitter*)(NativePtr), native_draw_list, count); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Renderer/URPRenderPass.cs: -------------------------------------------------------------------------------- 1 | #if PACKAGE_UNIVERSAL_RP 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 5 | using UnityEngine.Rendering.RenderGraphModule; 6 | #endif 7 | using UnityEngine.Rendering.Universal; 8 | 9 | namespace UBImGui 10 | { 11 | public class DearImGuiRenderPassFeature : ScriptableRendererFeature 12 | { 13 | public class DearImGuiURPRenderPass : ScriptableRenderPass 14 | { 15 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 16 | [System.Obsolete] 17 | #endif 18 | public override void Configure (CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor) { } 19 | 20 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 21 | [System.Obsolete] 22 | #endif 23 | public override void Execute (ScriptableRenderContext context, ref RenderingData renderingData) 24 | { 25 | ImGuiBehaviour.ExecuteCustomRenderPass(context, renderingData.cameraData.camera); 26 | } 27 | 28 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 29 | private class PassData 30 | { 31 | public Camera camera; 32 | } 33 | 34 | public override void RecordRenderGraph (RenderGraph renderGraph, ContextContainer frameData) 35 | { 36 | var cameraData = frameData.Get(); 37 | var resourceData = frameData.Get(); 38 | 39 | using var builder = renderGraph.AddRasterRenderPass("Dear Im Gui", out PassData passData, profilingSampler); 40 | 41 | builder.SetRenderAttachment(resourceData.activeColorTexture, 0); 42 | builder.SetRenderAttachmentDepth(resourceData.activeDepthTexture); 43 | passData.camera = cameraData.camera; 44 | 45 | builder.SetRenderFunc((PassData data, RasterGraphContext context) => { 46 | ImGuiBehaviour.ExecuteCustomRenderGraphPass(new CommandBufferWrapper(context.cmd), data.camera); 47 | } 48 | ); 49 | } 50 | #endif 51 | 52 | public override void FrameCleanup (CommandBuffer cmd) { } 53 | } 54 | 55 | private DearImGuiURPRenderPass _scriptablePass; 56 | 57 | public override void Create () 58 | { 59 | 60 | _scriptablePass = new DearImGuiURPRenderPass 61 | { 62 | renderPassEvent = RenderPassEvent.AfterRendering 63 | }; 64 | } 65 | 66 | public override void AddRenderPasses (ScriptableRenderer renderer, ref RenderingData renderingData) 67 | { 68 | AddRenderPasses(renderer, renderingData.cameraData.camera); 69 | } 70 | 71 | public void AddRenderPasses (ScriptableRenderer renderer, Camera camera) { 72 | if (!ImGuiController.HasController || 73 | ImGuiController.CurrentController.CameraToRender != camera) 74 | return; 75 | 76 | renderer.EnqueuePass(_scriptablePass); 77 | } 78 | } 79 | } 80 | #endif -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/STB_TexteditState.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct STB_TexteditState 7 | { 8 | public int cursor; 9 | public int select_start; 10 | public int select_end; 11 | public byte insert_mode; 12 | public int row_count_per_page; 13 | public byte cursor_at_end_of_line; 14 | public byte initialized; 15 | public byte has_preferred_x; 16 | public byte single_line; 17 | public byte padding1; 18 | public byte padding2; 19 | public byte padding3; 20 | public float preferred_x; 21 | public StbUndoState undostate; 22 | } 23 | public unsafe partial struct STB_TexteditStatePtr 24 | { 25 | public STB_TexteditState* NativePtr { get; } 26 | public STB_TexteditStatePtr(STB_TexteditState* nativePtr) => NativePtr = nativePtr; 27 | public STB_TexteditStatePtr(IntPtr nativePtr) => NativePtr = (STB_TexteditState*)nativePtr; 28 | public static implicit operator STB_TexteditStatePtr(STB_TexteditState* nativePtr) => new STB_TexteditStatePtr(nativePtr); 29 | public static implicit operator STB_TexteditState* (STB_TexteditStatePtr wrappedPtr) => wrappedPtr.NativePtr; 30 | public static implicit operator STB_TexteditStatePtr(IntPtr nativePtr) => new STB_TexteditStatePtr(nativePtr); 31 | public ref int cursor => ref Unsafe.AsRef(&NativePtr->cursor); 32 | public ref int select_start => ref Unsafe.AsRef(&NativePtr->select_start); 33 | public ref int select_end => ref Unsafe.AsRef(&NativePtr->select_end); 34 | public ref byte insert_mode => ref Unsafe.AsRef(&NativePtr->insert_mode); 35 | public ref int row_count_per_page => ref Unsafe.AsRef(&NativePtr->row_count_per_page); 36 | public ref byte cursor_at_end_of_line => ref Unsafe.AsRef(&NativePtr->cursor_at_end_of_line); 37 | public ref byte initialized => ref Unsafe.AsRef(&NativePtr->initialized); 38 | public ref byte has_preferred_x => ref Unsafe.AsRef(&NativePtr->has_preferred_x); 39 | public ref byte single_line => ref Unsafe.AsRef(&NativePtr->single_line); 40 | public ref byte padding1 => ref Unsafe.AsRef(&NativePtr->padding1); 41 | public ref byte padding2 => ref Unsafe.AsRef(&NativePtr->padding2); 42 | public ref byte padding3 => ref Unsafe.AsRef(&NativePtr->padding3); 43 | public ref float preferred_x => ref Unsafe.AsRef(&NativePtr->preferred_x); 44 | public ref StbUndoState undostate => ref Unsafe.AsRef(&NativePtr->undostate); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImDrawData.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImDrawData 8 | { 9 | public byte Valid; 10 | public int CmdListsCount; 11 | public int TotalIdxCount; 12 | public int TotalVtxCount; 13 | public ImVector CmdLists; 14 | public Vector2 DisplayPos; 15 | public Vector2 DisplaySize; 16 | public Vector2 FramebufferScale; 17 | public ImGuiViewport* OwnerViewport; 18 | } 19 | public unsafe partial struct ImDrawDataPtr 20 | { 21 | public ImDrawData* NativePtr { get; } 22 | public ImDrawDataPtr(ImDrawData* nativePtr) => NativePtr = nativePtr; 23 | public ImDrawDataPtr(IntPtr nativePtr) => NativePtr = (ImDrawData*)nativePtr; 24 | public static implicit operator ImDrawDataPtr(ImDrawData* nativePtr) => new ImDrawDataPtr(nativePtr); 25 | public static implicit operator ImDrawData* (ImDrawDataPtr wrappedPtr) => wrappedPtr.NativePtr; 26 | public static implicit operator ImDrawDataPtr(IntPtr nativePtr) => new ImDrawDataPtr(nativePtr); 27 | public ref bool Valid => ref Unsafe.AsRef(&NativePtr->Valid); 28 | public ref int CmdListsCount => ref Unsafe.AsRef(&NativePtr->CmdListsCount); 29 | public ref int TotalIdxCount => ref Unsafe.AsRef(&NativePtr->TotalIdxCount); 30 | public ref int TotalVtxCount => ref Unsafe.AsRef(&NativePtr->TotalVtxCount); 31 | public ImVector CmdLists => new ImVector(NativePtr->CmdLists); 32 | public ref Vector2 DisplayPos => ref Unsafe.AsRef(&NativePtr->DisplayPos); 33 | public ref Vector2 DisplaySize => ref Unsafe.AsRef(&NativePtr->DisplaySize); 34 | public ref Vector2 FramebufferScale => ref Unsafe.AsRef(&NativePtr->FramebufferScale); 35 | public ImGuiViewportPtr OwnerViewport => new ImGuiViewportPtr(NativePtr->OwnerViewport); 36 | public void AddDrawList(ImDrawListPtr draw_list) 37 | { 38 | ImDrawList* native_draw_list = draw_list.NativePtr; 39 | ImGuiNative.ImDrawData_AddDrawList((ImDrawData*)(NativePtr), native_draw_list); 40 | } 41 | public void Clear() 42 | { 43 | ImGuiNative.ImDrawData_Clear((ImDrawData*)(NativePtr)); 44 | } 45 | public void DeIndexAllBuffers() 46 | { 47 | ImGuiNative.ImDrawData_DeIndexAllBuffers((ImDrawData*)(NativePtr)); 48 | } 49 | public void Destroy() 50 | { 51 | ImGuiNative.ImDrawData_destroy((ImDrawData*)(NativePtr)); 52 | } 53 | public void ScaleClipRects(Vector2 fb_scale) 54 | { 55 | ImGuiNative.ImDrawData_ScaleClipRects((ImDrawData*)(NativePtr), fb_scale); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/ImGuiIOPtr.Extra.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using UBImGui; 5 | 6 | namespace ImGuiNET 7 | { 8 | public unsafe partial struct ImGuiIOPtr 9 | { 10 | static readonly HashSet _managedAllocations = new HashSet(IntPtrEqualityComparer.Instance); 11 | 12 | public void SetBackendRendererName(string name) 13 | { 14 | if (NativePtr->BackendRendererName != (byte*)0) 15 | { 16 | if (_managedAllocations.Contains((IntPtr)NativePtr->BackendRendererName)) 17 | Util.Free(NativePtr->BackendRendererName); 18 | NativePtr->BackendRendererName = (byte*)0; 19 | } 20 | if (name != null) 21 | { 22 | int byteCount = Encoding.UTF8.GetByteCount(name); 23 | byte* nativeName = Util.Allocate(byteCount + 1); 24 | int offset = Util.GetUtf8(name, nativeName, byteCount); 25 | nativeName[offset] = 0; 26 | NativePtr->BackendRendererName = nativeName; 27 | _managedAllocations.Add((IntPtr)nativeName); 28 | } 29 | } 30 | 31 | public void SetBackendPlatformName(string name) 32 | { 33 | if (NativePtr->BackendPlatformName != (byte*)0) 34 | { 35 | if (_managedAllocations.Contains((IntPtr)NativePtr->BackendPlatformName)) 36 | Util.Free(NativePtr->BackendPlatformName); 37 | NativePtr->BackendPlatformName = (byte*)0; 38 | } 39 | if (name != null) 40 | { 41 | int byteCount = Encoding.UTF8.GetByteCount(name); 42 | byte* nativeName = Util.Allocate(byteCount + 1); 43 | int offset = Util.GetUtf8(name, nativeName, byteCount); 44 | nativeName[offset] = 0; 45 | NativePtr->BackendPlatformName = nativeName; 46 | _managedAllocations.Add((IntPtr)nativeName); 47 | } 48 | } 49 | 50 | public void SetIniFilename(string name) 51 | { 52 | if (NativePtr->IniFilename != (byte*)0) 53 | { 54 | if (_managedAllocations.Contains((IntPtr)NativePtr->IniFilename)) 55 | Util.Free(NativePtr->IniFilename); 56 | NativePtr->IniFilename = (byte*)0; 57 | } 58 | if (name != null) 59 | { 60 | int byteCount = Encoding.UTF8.GetByteCount(name); 61 | byte* nativeName = Util.Allocate(byteCount + 1); 62 | int offset = Util.GetUtf8(name, nativeName, byteCount); 63 | nativeName[offset] = 0; 64 | NativePtr->IniFilename = nativeName; 65 | _managedAllocations.Add((IntPtr)nativeName); 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Assets/UBImGuiSettingsPersistent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UBImGui 4 | { 5 | internal class UBImGuiSettingsPersistent : ScriptableObject 6 | { 7 | public UBImGuiSettings settings; 8 | 9 | private const string SettingsPath = "Packages/com.mastersix.ubimgui/Resources/Settings/"; 10 | private const string SettingsPersistentAssetName = "UBImGui Settings Persister.asset"; 11 | private const string SettingsAssetName = "DEFAULT Settings.asset"; 12 | private const string StyleAssetName = "DEFAULT Style.asset"; 13 | 14 | internal static UBImGuiSettings GetSettings() 15 | { 16 | var settings = Resources.Load("Settings/UBImGui Settings Persister"); 17 | if (settings) 18 | { 19 | return settings.settings; 20 | } 21 | 22 | return UBImGuiSettings.CreateTemporary(); 23 | } 24 | 25 | #if UNITY_EDITOR 26 | internal static UBImGuiSettingsPersistent GetOrCreateSettingsPersistent() 27 | { 28 | var settingsPersistent = UnityEditor.AssetDatabase.LoadAssetAtPath(SettingsPath + SettingsPersistentAssetName); 29 | if (!settingsPersistent) 30 | { 31 | settingsPersistent = CreateInstance(); 32 | settingsPersistent.settings = GetOrCreateSettings(); 33 | UnityEditor.AssetDatabase.CreateAsset(settingsPersistent, SettingsPath + SettingsPersistentAssetName); 34 | UnityEditor.AssetDatabase.SaveAssets(); 35 | } 36 | return settingsPersistent; 37 | } 38 | 39 | internal static UBImGuiSettings GetOrCreateSettings() 40 | { 41 | var settings = UnityEditor.AssetDatabase.LoadAssetAtPath(SettingsPath + SettingsAssetName); 42 | if (!settings) 43 | { 44 | settings = CreateInstance(); 45 | settings.IsDefault = true; 46 | settings.styleAsset = GetOrCreateStyle(); 47 | UnityEditor.AssetDatabase.CreateAsset(settings, SettingsPath + SettingsAssetName); 48 | UnityEditor.AssetDatabase.SaveAssets(); 49 | } 50 | return settings; 51 | } 52 | 53 | internal static ImGuiStyleAsset GetOrCreateStyle() 54 | { 55 | var styleAsset = UnityEditor.AssetDatabase.LoadAssetAtPath(SettingsPath + StyleAssetName); 56 | if (!styleAsset) 57 | { 58 | styleAsset = CreateInstance(); 59 | UnityEditor.AssetDatabase.CreateAsset(styleAsset, SettingsPath + StyleAssetName); 60 | UnityEditor.AssetDatabase.SaveAssets(); 61 | } 62 | return styleAsset; 63 | } 64 | #endif 65 | } 66 | } -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/FontSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using ImGuiNET; 4 | using UnityEngine; 5 | 6 | namespace UBImGui 7 | { 8 | [Serializable] 9 | public struct FontSettings 10 | { 11 | public UnityEngine.Object fontObject; 12 | [HideInInspector] 13 | public string fontPath; 14 | 15 | public int sizeInPixels; 16 | public ScriptGlyphRanges glyphRanges; 17 | public Range[] customGlyphRanges; 18 | 19 | public unsafe List BuildRanges() 20 | { 21 | var atlas = (ImFontAtlas*)0; 22 | var ranges = new List(); 23 | if ((glyphRanges & ScriptGlyphRanges.Default) != 0) 24 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesDefault(atlas)); 25 | if ((glyphRanges & ScriptGlyphRanges.Cyrillic) != 0) 26 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesCyrillic(atlas)); 27 | if ((glyphRanges & ScriptGlyphRanges.Japanese) != 0) 28 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesJapanese(atlas)); 29 | if ((glyphRanges & ScriptGlyphRanges.Korean) != 0) 30 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesKorean(atlas)); 31 | if ((glyphRanges & ScriptGlyphRanges.Thai) != 0) 32 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesThai(atlas)); 33 | if ((glyphRanges & ScriptGlyphRanges.Vietnamese) != 0) 34 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesVietnamese(atlas)); 35 | if ((glyphRanges & ScriptGlyphRanges.ChineseSimplified) != 0) 36 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(atlas)); 37 | if ((glyphRanges & ScriptGlyphRanges.ChineseFull) != 0) 38 | AddRangePtr(ImGuiNative.ImFontAtlas_GetGlyphRangesChineseFull(atlas)); 39 | if ((glyphRanges & ScriptGlyphRanges.Custom) != 0) 40 | foreach (var range in customGlyphRanges) 41 | ranges.AddRange(new[] { range.start, range.end }); 42 | 43 | return ranges; 44 | 45 | void AddRangePtr(ushort* r) 46 | { 47 | while (*r != 0) 48 | ranges.Add(*r++); 49 | }; 50 | } 51 | 52 | [Flags] 53 | public enum ScriptGlyphRanges 54 | { 55 | Default = 1 << 0, 56 | Cyrillic = 1 << 1, 57 | Japanese = 1 << 2, 58 | Korean = 1 << 3, 59 | Thai = 1 << 4, 60 | Vietnamese = 1 << 5, 61 | ChineseSimplified = 1 << 6, 62 | ChineseFull = 1 << 7, 63 | Custom = 1 << 8, 64 | } 65 | 66 | [Serializable] 67 | public struct Range 68 | { 69 | public ushort start; 70 | public ushort end; 71 | } 72 | } 73 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiListClipper.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiListClipper 7 | { 8 | public IntPtr Ctx; 9 | public int DisplayStart; 10 | public int DisplayEnd; 11 | public int ItemsCount; 12 | public float ItemsHeight; 13 | public float StartPosY; 14 | public double StartSeekOffsetY; 15 | public void* TempData; 16 | } 17 | public unsafe partial struct ImGuiListClipperPtr 18 | { 19 | public ImGuiListClipper* NativePtr { get; } 20 | public ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => NativePtr = nativePtr; 21 | public ImGuiListClipperPtr(IntPtr nativePtr) => NativePtr = (ImGuiListClipper*)nativePtr; 22 | public static implicit operator ImGuiListClipperPtr(ImGuiListClipper* nativePtr) => new ImGuiListClipperPtr(nativePtr); 23 | public static implicit operator ImGuiListClipper* (ImGuiListClipperPtr wrappedPtr) => wrappedPtr.NativePtr; 24 | public static implicit operator ImGuiListClipperPtr(IntPtr nativePtr) => new ImGuiListClipperPtr(nativePtr); 25 | public ref IntPtr Ctx => ref Unsafe.AsRef(&NativePtr->Ctx); 26 | public ref int DisplayStart => ref Unsafe.AsRef(&NativePtr->DisplayStart); 27 | public ref int DisplayEnd => ref Unsafe.AsRef(&NativePtr->DisplayEnd); 28 | public ref int ItemsCount => ref Unsafe.AsRef(&NativePtr->ItemsCount); 29 | public ref float ItemsHeight => ref Unsafe.AsRef(&NativePtr->ItemsHeight); 30 | public ref float StartPosY => ref Unsafe.AsRef(&NativePtr->StartPosY); 31 | public ref double StartSeekOffsetY => ref Unsafe.AsRef(&NativePtr->StartSeekOffsetY); 32 | public IntPtr TempData { get => (IntPtr)NativePtr->TempData; set => NativePtr->TempData = (void*)value; } 33 | public void Begin(int items_count) 34 | { 35 | float items_height = -1.0f; 36 | ImGuiNative.ImGuiListClipper_Begin((ImGuiListClipper*)(NativePtr), items_count, items_height); 37 | } 38 | public void Begin(int items_count, float items_height) 39 | { 40 | ImGuiNative.ImGuiListClipper_Begin((ImGuiListClipper*)(NativePtr), items_count, items_height); 41 | } 42 | public void Destroy() 43 | { 44 | ImGuiNative.ImGuiListClipper_destroy((ImGuiListClipper*)(NativePtr)); 45 | } 46 | public void End() 47 | { 48 | ImGuiNative.ImGuiListClipper_End((ImGuiListClipper*)(NativePtr)); 49 | } 50 | public void IncludeItemByIndex(int item_index) 51 | { 52 | ImGuiNative.ImGuiListClipper_IncludeItemByIndex((ImGuiListClipper*)(NativePtr), item_index); 53 | } 54 | public void SeekCursorForItem(int item_index) 55 | { 56 | ImGuiNative.ImGuiListClipper_SeekCursorForItem((ImGuiListClipper*)(NativePtr), item_index); 57 | } 58 | public bool Step() 59 | { 60 | byte ret = ImGuiNative.ImGuiListClipper_Step((ImGuiListClipper*)(NativePtr)); 61 | return ret != 0; 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Handler/ClipboardHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using System.Text; 4 | using AOT; 5 | using ImGuiNET; 6 | using UnityEngine; 7 | 8 | namespace UBImGui 9 | { 10 | [UnmanagedFunctionPointer(CallingConvention.Cdecl)] 11 | public unsafe delegate string GetClipboardTextCallback(void* userData); 12 | 13 | [UnmanagedFunctionPointer(CallingConvention.Cdecl)] 14 | public unsafe delegate void SetClipboardTextCallback(void* userData, byte* text); 15 | 16 | public unsafe class ClipboardHandler : IDisposable 17 | { 18 | public ClipboardHandler() 19 | { 20 | _getClipboardText = GetClipboardTextCallback; 21 | _setClipboardText = SetClipboardTextCallback; 22 | } 23 | 24 | private static GetClipboardTextCallback _getClipboardText; 25 | private static SetClipboardTextCallback _setClipboardText; 26 | 27 | [MonoPInvokeCallback(typeof(GetClipboardTextCallback))] 28 | private static string GetClipboardTextCallback(void* userData) 29 | { 30 | return GUIUtility.systemCopyBuffer; 31 | } 32 | 33 | [MonoPInvokeCallback(typeof(SetClipboardTextCallback))] 34 | private static void SetClipboardTextCallback(void* userData, byte* text) 35 | { 36 | GUIUtility.systemCopyBuffer = StringFromPtr(text); 37 | } 38 | 39 | public void Assign(ImGuiIOPtr io) 40 | { 41 | io.ClipboardUserData = IntPtr.Zero; 42 | io.SetClipboardTextFn = Marshal.GetFunctionPointerForDelegate(_setClipboardText); 43 | io.GetClipboardTextFn = Marshal.GetFunctionPointerForDelegate(_getClipboardText); 44 | } 45 | 46 | public void Unset(ImGuiIOPtr io) 47 | { 48 | io.SetClipboardTextFn = IntPtr.Zero; 49 | io.GetClipboardTextFn = IntPtr.Zero; 50 | } 51 | 52 | public void Dispose() 53 | { 54 | _getClipboardText = null; 55 | _setClipboardText = null; 56 | } 57 | 58 | private static string StringFromPtr(byte* ptr) 59 | { 60 | var length = 0; 61 | while (ptr[length] != 0) 62 | { 63 | length++; 64 | } 65 | return Encoding.UTF8.GetString(ptr, length); 66 | } 67 | 68 | // Exposição simplificada para definir as funções de clipboard de forma segura com IntPtr 69 | // public static GetClipboardTextSafeCallback GetClipboardText 70 | // { 71 | // set => _getClipboardText = (userData) => 72 | // { 73 | // try { return value(new IntPtr(userData)); } 74 | // catch (Exception ex) { Debug.LogException(ex); return null; } 75 | // }; 76 | // } 77 | // 78 | // public static SetClipboardTextSafeCallback SetClipboardText 79 | // { 80 | // set => _setClipboardText = (userData, text) => 81 | // { 82 | // try { value(new IntPtr(userData), StringFromPtr(text)); } 83 | // catch (Exception ex) { Debug.LogException(ex); } 84 | // }; 85 | // } 86 | } 87 | } -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/TwoWayDictionary.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | 4 | namespace UBImGui 5 | { 6 | internal class TwoWayDictionary 7 | { 8 | Dictionary _forwards = new Dictionary(); 9 | Dictionary _backwards = new Dictionary(); 10 | 11 | public IReadOnlyDictionary Forwards => _forwards; 12 | public IReadOnlyDictionary Backwards => _backwards; 13 | 14 | public IEnumerable Set1 => Forwards.Keys; 15 | public IEnumerable Set2 => Backwards.Keys; 16 | 17 | 18 | public TwoWayDictionary() 19 | { 20 | _forwards = new Dictionary(); 21 | _backwards = new Dictionary(); 22 | } 23 | 24 | public TwoWayDictionary(int capacity) 25 | { 26 | _forwards = new Dictionary(capacity); 27 | _backwards = new Dictionary(capacity); 28 | } 29 | 30 | public TwoWayDictionary(Dictionary initial) 31 | { 32 | _forwards = initial; 33 | _backwards = initial.ToDictionary(kvp => kvp.Value, kvp => kvp.Key); 34 | } 35 | 36 | public TwoWayDictionary(Dictionary initial) 37 | { 38 | _backwards = initial; 39 | _forwards = initial.ToDictionary(kvp => kvp.Value, kvp => kvp.Key); 40 | } 41 | 42 | 43 | public T1 this[T2 index] 44 | { 45 | get => _backwards[index]; 46 | set 47 | { 48 | if (_backwards.TryGetValue(index, out var removeThis)) 49 | _forwards.Remove(removeThis); 50 | 51 | _backwards[index] = value; 52 | _forwards[value] = index; 53 | } 54 | } 55 | 56 | public T2 this[T1 index] 57 | { 58 | get => _forwards[index]; 59 | set 60 | { 61 | if (_forwards.TryGetValue(index, out var removeThis)) 62 | _backwards.Remove(removeThis); 63 | 64 | _forwards[index] = value; 65 | _backwards[value] = index; 66 | } 67 | } 68 | 69 | public int Count => _forwards.Count; 70 | 71 | public bool Contains(T1 item) => _forwards.ContainsKey(item); 72 | public bool Contains(T2 item) => _backwards.ContainsKey(item); 73 | 74 | public bool Remove(T1 item) 75 | { 76 | if (!Contains(item)) 77 | return false; 78 | 79 | var t2 = _forwards[item]; 80 | 81 | _backwards.Remove(t2); 82 | _forwards.Remove(item); 83 | 84 | return true; 85 | } 86 | 87 | public bool Remove(T2 item) 88 | { 89 | if (!Contains(item)) 90 | return false; 91 | 92 | var t1 = _backwards[item]; 93 | 94 | _forwards.Remove(t1); 95 | _backwards.Remove(item); 96 | 97 | return true; 98 | } 99 | 100 | public void Clear() 101 | { 102 | _forwards.Clear(); 103 | _backwards.Clear(); 104 | } 105 | } 106 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Util.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using System.Text; 4 | 5 | namespace ImGuiNET 6 | { 7 | internal static unsafe class Util 8 | { 9 | internal const int StackAllocationSizeLimit = 2048; 10 | 11 | public static string StringFromPtr(byte* ptr) 12 | { 13 | int characters = 0; 14 | while (ptr[characters] != 0) 15 | { 16 | characters++; 17 | } 18 | 19 | return Encoding.UTF8.GetString(ptr, characters); 20 | } 21 | 22 | internal static bool AreStringsEqual(byte* a, int aLength, byte* b) 23 | { 24 | for (int i = 0; i < aLength; i++) 25 | { 26 | if (a[i] != b[i]) { return false; } 27 | } 28 | 29 | if (b[aLength] != 0) { return false; } 30 | 31 | return true; 32 | } 33 | 34 | internal static byte* Allocate(int byteCount) => (byte*)Marshal.AllocHGlobal(byteCount); 35 | 36 | internal static void Free(byte* ptr) => Marshal.FreeHGlobal((IntPtr)ptr); 37 | 38 | #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER 39 | internal static int CalcSizeInUtf8(ReadOnlySpan s, int start, int length) 40 | #else 41 | internal static int CalcSizeInUtf8(string s, int start, int length) 42 | #endif 43 | { 44 | if (start < 0 || length < 0 || start + length > s.Length) 45 | { 46 | throw new ArgumentOutOfRangeException(); 47 | } 48 | if(s.Length == 0) return 0; 49 | 50 | fixed (char* utf16Ptr = s) 51 | { 52 | return Encoding.UTF8.GetByteCount(utf16Ptr + start, length); 53 | } 54 | } 55 | 56 | #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER 57 | internal static int GetUtf8(ReadOnlySpan s, byte* utf8Bytes, int utf8ByteCount) 58 | { 59 | if (s.IsEmpty) 60 | { 61 | return 0; 62 | } 63 | 64 | fixed (char* utf16Ptr = s) 65 | { 66 | return Encoding.UTF8.GetBytes(utf16Ptr, s.Length, utf8Bytes, utf8ByteCount); 67 | } 68 | } 69 | #endif 70 | 71 | internal static int GetUtf8(string s, byte* utf8Bytes, int utf8ByteCount) 72 | { 73 | fixed (char* utf16Ptr = s) 74 | { 75 | return Encoding.UTF8.GetBytes(utf16Ptr, s.Length, utf8Bytes, utf8ByteCount); 76 | } 77 | } 78 | 79 | #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER 80 | internal static int GetUtf8(ReadOnlySpan s, int start, int length, byte* utf8Bytes, int utf8ByteCount) 81 | #else 82 | internal static int GetUtf8(string s, int start, int length, byte* utf8Bytes, int utf8ByteCount) 83 | #endif 84 | { 85 | if (start < 0 || length < 0 || start + length > s.Length) 86 | { 87 | throw new ArgumentOutOfRangeException(); 88 | } 89 | if (s.Length == 0) return 0; 90 | 91 | fixed (char* utf16Ptr = s) 92 | { 93 | return Encoding.UTF8.GetBytes(utf16Ptr + start, length, utf8Bytes, utf8ByteCount); 94 | } 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /Editor/Editors/FontSettingsDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEditor.UIElements; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UBImGui.Editor 6 | { 7 | [CustomPropertyDrawer(typeof(FontSettings))] 8 | public class FontSettingsDrawer : PropertyDrawer 9 | { 10 | const string EditorStreamingAssetsPath = "Assets/StreamingAssets/"; 11 | 12 | public override VisualElement CreatePropertyGUI(SerializedProperty property) 13 | { 14 | var root = new VisualElement(); 15 | 16 | var fontObjectProperty = property.FindPropertyRelative(nameof(FontSettings.fontObject)); 17 | var fontPathProperty = property.FindPropertyRelative(nameof(FontSettings.fontPath)); 18 | 19 | var headerContainer = new VisualElement(); 20 | root.Add(headerContainer); 21 | 22 | var objectField = new ObjectField("Font"); 23 | objectField.allowSceneObjects = false; 24 | objectField.value = fontObjectProperty.objectReferenceValue; 25 | objectField.BindProperty(fontObjectProperty); 26 | 27 | var pathLabel = new Label($"{EditorStreamingAssetsPath}{fontPathProperty.stringValue}"); 28 | pathLabel.AddToClassList(InspectorElement.disabledUssClassName); 29 | 30 | var invalidPath = new HelpBox($"Font file must be in '{EditorStreamingAssetsPath}' folder.", HelpBoxMessageType.Error); 31 | invalidPath.style.display = DisplayStyle.None; 32 | if (string.IsNullOrEmpty(GetStreamingAssetPath(fontObjectProperty))) 33 | invalidPath.style.display = DisplayStyle.Flex; 34 | 35 | objectField.RegisterValueChangedCallback(evt => 36 | { 37 | fontPathProperty.stringValue = GetStreamingAssetPath(fontObjectProperty); 38 | property.serializedObject.ApplyModifiedProperties(); 39 | pathLabel.text = $"{EditorStreamingAssetsPath}{fontPathProperty.stringValue}"; 40 | if (string.IsNullOrEmpty(fontPathProperty.stringValue)) 41 | invalidPath.style.display = DisplayStyle.Flex; 42 | else 43 | invalidPath.style.display = DisplayStyle.None; 44 | }); 45 | headerContainer.Add(objectField); 46 | headerContainer.Add(invalidPath); 47 | headerContainer.Add(pathLabel); 48 | 49 | property.NextVisible(true); 50 | var depth = property.depth; 51 | while (property.NextVisible(false) && property.depth >= depth) 52 | { 53 | var propertyField = new PropertyField(property, property.displayName); 54 | propertyField.BindProperty(property); 55 | root.Add(propertyField); 56 | } 57 | 58 | return root; 59 | } 60 | 61 | private string GetStreamingAssetPath(SerializedProperty property) 62 | { 63 | string path = property.objectReferenceValue != null 64 | ? AssetDatabase.GetAssetPath(property.objectReferenceValue.GetInstanceID()) 65 | : string.Empty; 66 | return path.StartsWith(EditorStreamingAssetsPath) ? path.Substring(EditorStreamingAssetsPath.Length) : string.Empty; 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImFontConfig.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImFontConfig 8 | { 9 | public void* FontData; 10 | public int FontDataSize; 11 | public byte FontDataOwnedByAtlas; 12 | public int FontNo; 13 | public float SizePixels; 14 | public int OversampleH; 15 | public int OversampleV; 16 | public byte PixelSnapH; 17 | public Vector2 GlyphExtraSpacing; 18 | public Vector2 GlyphOffset; 19 | public ushort* GlyphRanges; 20 | public float GlyphMinAdvanceX; 21 | public float GlyphMaxAdvanceX; 22 | public byte MergeMode; 23 | public uint FontBuilderFlags; 24 | public float RasterizerMultiply; 25 | public float RasterizerDensity; 26 | public ushort EllipsisChar; 27 | public fixed byte Name[40]; 28 | public ImFont* DstFont; 29 | } 30 | public unsafe partial struct ImFontConfigPtr 31 | { 32 | public ImFontConfig* NativePtr { get; } 33 | public ImFontConfigPtr(ImFontConfig* nativePtr) => NativePtr = nativePtr; 34 | public ImFontConfigPtr(IntPtr nativePtr) => NativePtr = (ImFontConfig*)nativePtr; 35 | public static implicit operator ImFontConfigPtr(ImFontConfig* nativePtr) => new ImFontConfigPtr(nativePtr); 36 | public static implicit operator ImFontConfig* (ImFontConfigPtr wrappedPtr) => wrappedPtr.NativePtr; 37 | public static implicit operator ImFontConfigPtr(IntPtr nativePtr) => new ImFontConfigPtr(nativePtr); 38 | public IntPtr FontData { get => (IntPtr)NativePtr->FontData; set => NativePtr->FontData = (void*)value; } 39 | public ref int FontDataSize => ref Unsafe.AsRef(&NativePtr->FontDataSize); 40 | public ref bool FontDataOwnedByAtlas => ref Unsafe.AsRef(&NativePtr->FontDataOwnedByAtlas); 41 | public ref int FontNo => ref Unsafe.AsRef(&NativePtr->FontNo); 42 | public ref float SizePixels => ref Unsafe.AsRef(&NativePtr->SizePixels); 43 | public ref int OversampleH => ref Unsafe.AsRef(&NativePtr->OversampleH); 44 | public ref int OversampleV => ref Unsafe.AsRef(&NativePtr->OversampleV); 45 | public ref bool PixelSnapH => ref Unsafe.AsRef(&NativePtr->PixelSnapH); 46 | public ref Vector2 GlyphExtraSpacing => ref Unsafe.AsRef(&NativePtr->GlyphExtraSpacing); 47 | public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&NativePtr->GlyphOffset); 48 | public IntPtr GlyphRanges { get => (IntPtr)NativePtr->GlyphRanges; set => NativePtr->GlyphRanges = (ushort*)value; } 49 | public ref float GlyphMinAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphMinAdvanceX); 50 | public ref float GlyphMaxAdvanceX => ref Unsafe.AsRef(&NativePtr->GlyphMaxAdvanceX); 51 | public ref bool MergeMode => ref Unsafe.AsRef(&NativePtr->MergeMode); 52 | public ref uint FontBuilderFlags => ref Unsafe.AsRef(&NativePtr->FontBuilderFlags); 53 | public ref float RasterizerMultiply => ref Unsafe.AsRef(&NativePtr->RasterizerMultiply); 54 | public ref float RasterizerDensity => ref Unsafe.AsRef(&NativePtr->RasterizerDensity); 55 | public ref ushort EllipsisChar => ref Unsafe.AsRef(&NativePtr->EllipsisChar); 56 | public RangeAccessor Name => new RangeAccessor(NativePtr->Name, 40); 57 | public ImFontPtr DstFont => new ImFontPtr(NativePtr->DstFont); 58 | public void Destroy() 59 | { 60 | ImGuiNative.ImFontConfig_destroy((ImFontConfig*)(NativePtr)); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Data/CommandBufferWrapper.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | 5 | namespace UBImGui 6 | { 7 | [StructLayout(LayoutKind.Sequential)] 8 | public readonly struct CommandBufferWrapper 9 | { 10 | private readonly CommandBuffer _cmd; 11 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 12 | private readonly RasterCommandBuffer _rasterCmd; 13 | #endif 14 | private readonly bool _isRaster; 15 | 16 | public CommandBufferWrapper(CommandBuffer cmd) 17 | { 18 | _cmd = cmd; 19 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 20 | _rasterCmd = null; 21 | #endif 22 | _isRaster = false; 23 | } 24 | 25 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 26 | public CommandBufferWrapper(RasterCommandBuffer rasterCmd) 27 | { 28 | _cmd = null; 29 | _rasterCmd = rasterCmd; 30 | _isRaster = true; 31 | } 32 | #endif 33 | 34 | public void SetViewport(Rect viewport) 35 | { 36 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 37 | if (_isRaster) 38 | { 39 | _rasterCmd.SetViewport(viewport); 40 | return; 41 | } 42 | #endif 43 | _cmd.SetViewport(viewport); 44 | } 45 | 46 | public void SetViewProjectionMatrices(Matrix4x4 view, Matrix4x4 projection) 47 | { 48 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 49 | if (_isRaster) 50 | { 51 | _rasterCmd.SetViewProjectionMatrices(view, projection); 52 | return; 53 | } 54 | #endif 55 | _cmd.SetViewProjectionMatrices(view, projection); 56 | } 57 | 58 | public void EnableScissorRect(Rect viewport) 59 | { 60 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 61 | if (_isRaster) 62 | { 63 | _rasterCmd.EnableScissorRect(viewport); 64 | return; 65 | } 66 | #endif 67 | _cmd.EnableScissorRect(viewport); 68 | } 69 | 70 | public void DisableScissorRect() 71 | { 72 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 73 | if (_isRaster) 74 | { 75 | _rasterCmd.DisableScissorRect(); 76 | return; 77 | } 78 | #endif 79 | _cmd.DisableScissorRect(); 80 | } 81 | 82 | public void DrawProceduralIndirect(GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, 83 | MeshTopology topology, GraphicsBuffer bufferWithArgs, int argsOffset, MaterialPropertyBlock properties) 84 | { 85 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 86 | if (_isRaster) 87 | { 88 | _rasterCmd.DrawProceduralIndirect(indexBuffer, matrix, material, shaderPass, topology, bufferWithArgs, argsOffset, properties); 89 | return; 90 | } 91 | #endif 92 | _cmd.DrawProceduralIndirect(indexBuffer, matrix, material, shaderPass, topology, bufferWithArgs, argsOffset, properties); 93 | } 94 | 95 | public void DrawMesh(Mesh mesh, Matrix4x4 matrix, Material material, int submeshIndex, int shaderPass, MaterialPropertyBlock properties) 96 | { 97 | #if PACKAGE_UNIVERSAL_RP_17_0_0_OR_NEWER 98 | if (_isRaster) 99 | { 100 | _rasterCmd.DrawMesh(mesh, matrix, material, submeshIndex, shaderPass, properties); 101 | return; 102 | } 103 | #endif 104 | _cmd.DrawMesh(mesh, matrix, material, submeshIndex, shaderPass, properties); 105 | } 106 | 107 | } 108 | } -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiViewport.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace ImGuiNET 6 | { 7 | public unsafe partial struct ImGuiViewport 8 | { 9 | public uint ID; 10 | public ImGuiViewportFlags Flags; 11 | public Vector2 Pos; 12 | public Vector2 Size; 13 | public Vector2 WorkPos; 14 | public Vector2 WorkSize; 15 | public float DpiScale; 16 | public uint ParentViewportId; 17 | public ImDrawData* DrawData; 18 | public void* RendererUserData; 19 | public void* PlatformUserData; 20 | public void* PlatformHandle; 21 | public void* PlatformHandleRaw; 22 | public byte PlatformWindowCreated; 23 | public byte PlatformRequestMove; 24 | public byte PlatformRequestResize; 25 | public byte PlatformRequestClose; 26 | } 27 | public unsafe partial struct ImGuiViewportPtr 28 | { 29 | public ImGuiViewport* NativePtr { get; } 30 | public ImGuiViewportPtr(ImGuiViewport* nativePtr) => NativePtr = nativePtr; 31 | public ImGuiViewportPtr(IntPtr nativePtr) => NativePtr = (ImGuiViewport*)nativePtr; 32 | public static implicit operator ImGuiViewportPtr(ImGuiViewport* nativePtr) => new ImGuiViewportPtr(nativePtr); 33 | public static implicit operator ImGuiViewport* (ImGuiViewportPtr wrappedPtr) => wrappedPtr.NativePtr; 34 | public static implicit operator ImGuiViewportPtr(IntPtr nativePtr) => new ImGuiViewportPtr(nativePtr); 35 | public ref uint ID => ref Unsafe.AsRef(&NativePtr->ID); 36 | public ref ImGuiViewportFlags Flags => ref Unsafe.AsRef(&NativePtr->Flags); 37 | public ref Vector2 Pos => ref Unsafe.AsRef(&NativePtr->Pos); 38 | public ref Vector2 Size => ref Unsafe.AsRef(&NativePtr->Size); 39 | public ref Vector2 WorkPos => ref Unsafe.AsRef(&NativePtr->WorkPos); 40 | public ref Vector2 WorkSize => ref Unsafe.AsRef(&NativePtr->WorkSize); 41 | public ref float DpiScale => ref Unsafe.AsRef(&NativePtr->DpiScale); 42 | public ref uint ParentViewportId => ref Unsafe.AsRef(&NativePtr->ParentViewportId); 43 | public ImDrawDataPtr DrawData => new ImDrawDataPtr(NativePtr->DrawData); 44 | public IntPtr RendererUserData { get => (IntPtr)NativePtr->RendererUserData; set => NativePtr->RendererUserData = (void*)value; } 45 | public IntPtr PlatformUserData { get => (IntPtr)NativePtr->PlatformUserData; set => NativePtr->PlatformUserData = (void*)value; } 46 | public IntPtr PlatformHandle { get => (IntPtr)NativePtr->PlatformHandle; set => NativePtr->PlatformHandle = (void*)value; } 47 | public IntPtr PlatformHandleRaw { get => (IntPtr)NativePtr->PlatformHandleRaw; set => NativePtr->PlatformHandleRaw = (void*)value; } 48 | public ref bool PlatformWindowCreated => ref Unsafe.AsRef(&NativePtr->PlatformWindowCreated); 49 | public ref bool PlatformRequestMove => ref Unsafe.AsRef(&NativePtr->PlatformRequestMove); 50 | public ref bool PlatformRequestResize => ref Unsafe.AsRef(&NativePtr->PlatformRequestResize); 51 | public ref bool PlatformRequestClose => ref Unsafe.AsRef(&NativePtr->PlatformRequestClose); 52 | public void Destroy() 53 | { 54 | ImGuiNative.ImGuiViewport_destroy((ImGuiViewport*)(NativePtr)); 55 | } 56 | public Vector2 GetCenter() 57 | { 58 | Vector2 __retval; 59 | ImGuiNative.ImGuiViewport_GetCenter(&__retval, (ImGuiViewport*)(NativePtr)); 60 | return __retval; 61 | } 62 | public Vector2 GetWorkCenter() 63 | { 64 | Vector2 __retval; 65 | ImGuiNative.ImGuiViewport_GetWorkCenter(&__retval, (ImGuiViewport*)(NativePtr)); 66 | return __retval; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Runtime/ImGui.NET/Generated/ImGuiSelectionBasicStorage.gen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | 4 | namespace ImGuiNET 5 | { 6 | public unsafe partial struct ImGuiSelectionBasicStorage 7 | { 8 | public int Size; 9 | public byte PreserveOrder; 10 | public void* UserData; 11 | public IntPtr AdapterIndexToStorageId; 12 | public int _SelectionOrder; 13 | public ImGuiStorage _Storage; 14 | } 15 | public unsafe partial struct ImGuiSelectionBasicStoragePtr 16 | { 17 | public ImGuiSelectionBasicStorage* NativePtr { get; } 18 | public ImGuiSelectionBasicStoragePtr(ImGuiSelectionBasicStorage* nativePtr) => NativePtr = nativePtr; 19 | public ImGuiSelectionBasicStoragePtr(IntPtr nativePtr) => NativePtr = (ImGuiSelectionBasicStorage*)nativePtr; 20 | public static implicit operator ImGuiSelectionBasicStoragePtr(ImGuiSelectionBasicStorage* nativePtr) => new ImGuiSelectionBasicStoragePtr(nativePtr); 21 | public static implicit operator ImGuiSelectionBasicStorage* (ImGuiSelectionBasicStoragePtr wrappedPtr) => wrappedPtr.NativePtr; 22 | public static implicit operator ImGuiSelectionBasicStoragePtr(IntPtr nativePtr) => new ImGuiSelectionBasicStoragePtr(nativePtr); 23 | public ref int Size => ref Unsafe.AsRef(&NativePtr->Size); 24 | public ref bool PreserveOrder => ref Unsafe.AsRef(&NativePtr->PreserveOrder); 25 | public IntPtr UserData { get => (IntPtr)NativePtr->UserData; set => NativePtr->UserData = (void*)value; } 26 | public ref IntPtr AdapterIndexToStorageId => ref Unsafe.AsRef(&NativePtr->AdapterIndexToStorageId); 27 | public ref int _SelectionOrder => ref Unsafe.AsRef(&NativePtr->_SelectionOrder); 28 | public ref ImGuiStorage _Storage => ref Unsafe.AsRef(&NativePtr->_Storage); 29 | public void ApplyRequests(ImGuiMultiSelectIOPtr ms_io) 30 | { 31 | ImGuiMultiSelectIO* native_ms_io = ms_io.NativePtr; 32 | ImGuiNative.ImGuiSelectionBasicStorage_ApplyRequests((ImGuiSelectionBasicStorage*)(NativePtr), native_ms_io); 33 | } 34 | public void Clear() 35 | { 36 | ImGuiNative.ImGuiSelectionBasicStorage_Clear((ImGuiSelectionBasicStorage*)(NativePtr)); 37 | } 38 | public bool Contains(uint id) 39 | { 40 | byte ret = ImGuiNative.ImGuiSelectionBasicStorage_Contains((ImGuiSelectionBasicStorage*)(NativePtr), id); 41 | return ret != 0; 42 | } 43 | public void Destroy() 44 | { 45 | ImGuiNative.ImGuiSelectionBasicStorage_destroy((ImGuiSelectionBasicStorage*)(NativePtr)); 46 | } 47 | public bool GetNextSelectedItem(ref void* opaque_it, out uint out_id) 48 | { 49 | fixed (void** native_opaque_it = &opaque_it) 50 | { 51 | fixed (uint* native_out_id = &out_id) 52 | { 53 | byte ret = ImGuiNative.ImGuiSelectionBasicStorage_GetNextSelectedItem((ImGuiSelectionBasicStorage*)(NativePtr), native_opaque_it, native_out_id); 54 | return ret != 0; 55 | } 56 | } 57 | } 58 | public uint GetStorageIdFromIndex(int idx) 59 | { 60 | uint ret = ImGuiNative.ImGuiSelectionBasicStorage_GetStorageIdFromIndex((ImGuiSelectionBasicStorage*)(NativePtr), idx); 61 | return ret; 62 | } 63 | public void SetItemSelected(uint id, bool selected) 64 | { 65 | byte native_selected = selected ? (byte)1 : (byte)0; 66 | ImGuiNative.ImGuiSelectionBasicStorage_SetItemSelected((ImGuiSelectionBasicStorage*)(NativePtr), id, native_selected); 67 | } 68 | public void Swap(ImGuiSelectionBasicStoragePtr r) 69 | { 70 | ImGuiSelectionBasicStorage* native_r = r.NativePtr; 71 | ImGuiNative.ImGuiSelectionBasicStorage_Swap((ImGuiSelectionBasicStorage*)(NativePtr), native_r); 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Samples/Simple Console/SimpleConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using ImGuiNET; 5 | using UnityEngine; 6 | 7 | public class SimpleConsole : MonoBehaviour 8 | { 9 | private string _inputText = ""; 10 | private uint _maxInputSize = 200; 11 | private List _logItems = new List(); 12 | private Dictionary _commands = new Dictionary(); 13 | 14 | //Scroll To bottom flag 15 | private bool _scrollToBottom; 16 | //Keeping scrolling on add new input 17 | private bool _autoScroll = true; 18 | 19 | private void Start() 20 | { 21 | _commands.Add("help", () => AddLog("do 'all-commands' for view commands available")); 22 | _commands.Add("clear", ClearLog); 23 | _commands.Add("all-commands", () => 24 | { 25 | foreach (var command in _commands.Keys) 26 | { 27 | AddLog(string.Concat(" - ", command)); 28 | } 29 | }); 30 | _commands.Add("add-log", () => AddLog("Some sample log message.")); 31 | _commands.Add("add-error", () => AddLog("[ERROR]: Something wrong is not right!")); 32 | _commands.Add("add-info", () => AddLog("[INFO]: Simple information for you :D")); 33 | 34 | ClearLog(); 35 | AddLog("Initializing Console!"); 36 | } 37 | 38 | private void OnEnable() => ImGui.Layout += OnLayout; 39 | private void OnDisable() => ImGui.Layout -= OnLayout; 40 | 41 | public void AddLog(string log) 42 | { 43 | _logItems.Add(log); 44 | } 45 | 46 | public void ClearLog() 47 | { 48 | _logItems.Clear(); 49 | } 50 | 51 | public void ExecuteCommand(string command) 52 | { 53 | if (_commands.TryGetValue(command, out var action)) 54 | { 55 | action.Invoke(); 56 | } 57 | else 58 | { 59 | AddLog("[ERROR]: Invalid Command!!"); 60 | } 61 | } 62 | 63 | private void OnLayout() 64 | { 65 | ImGui.SetNextWindowSize(new Vector2(520, 600), ImGuiCond.FirstUseEver); 66 | if (!ImGui.Begin("Console")) 67 | { 68 | ImGui.End(); 69 | return; 70 | } 71 | 72 | var footerHeightToReserve = ImGui.GetStyle().ItemSpacing.y + ImGui.GetFrameHeightWithSpacing(); 73 | if (ImGui.BeginChild("ScrollingRegion", new Vector2(0, -footerHeightToReserve), ImGuiChildFlags.NavFlattened, ImGuiWindowFlags.HorizontalScrollbar)) 74 | { 75 | foreach (var logItem in _logItems) 76 | { 77 | var hasColor = false; 78 | var color = Color.white; 79 | if (logItem.StartsWith("[ERROR]")) 80 | { 81 | hasColor = true; 82 | color = Color.red; 83 | } 84 | else if (logItem.StartsWith("[INFO]")) 85 | { 86 | hasColor = true; 87 | color = Color.green; 88 | } 89 | 90 | if (hasColor) ImGui.PushStyleColor(ImGuiCol.Text, color); 91 | ImGui.TextUnformatted(logItem); 92 | if (hasColor) ImGui.PopStyleColor(); 93 | } 94 | 95 | if (_scrollToBottom || (_autoScroll && ImGui.GetScrollY() >= ImGui.GetScrollMaxY())) 96 | ImGui.SetScrollY(1.0f); 97 | 98 | _scrollToBottom = false; 99 | } 100 | ImGui.EndChild(); 101 | ImGui.Separator(); 102 | 103 | var reclaimFocus = false; 104 | var inputTextFlags = ImGuiInputTextFlags.EnterReturnsTrue | ImGuiInputTextFlags.EscapeClearsAll; 105 | if (ImGui.InputText("Input", ref _inputText, _maxInputSize, inputTextFlags)) 106 | { 107 | var inputProcessed = _inputText.Trim().ToLower(); 108 | if (inputProcessed.Length > 0) 109 | { 110 | AddLog("> " + inputProcessed); 111 | ExecuteCommand(inputProcessed); 112 | } 113 | 114 | _inputText = ""; 115 | reclaimFocus = true; 116 | } 117 | 118 | ImGui.SetItemDefaultFocus(); 119 | if (reclaimFocus) 120 | ImGui.SetKeyboardFocusHere(-1); 121 | 122 | ImGui.End(); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /Runtime/UBImGui/Utils/ImGui.Extras.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using UBImGui; 4 | using UnityEngine; 5 | 6 | namespace ImGuiNET 7 | { 8 | public static unsafe partial class ImGui 9 | { 10 | public static event Action Layout 11 | { 12 | add 13 | { 14 | ImGuiBehaviour.Initialize(); 15 | ImGuiController.CurrentController.Layout += value; 16 | } 17 | remove 18 | { 19 | if (ImGuiController.CurrentController != null) 20 | ImGuiController.CurrentController.Layout -= value; 21 | } 22 | } 23 | 24 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 25 | public static IntPtr ImageId(Texture texture) => ImGuiController.CurrentController.Textures.GetOrCreate(texture); 26 | 27 | public static void Image(Texture texture) 28 | { 29 | var idPtr = ImageId(texture); 30 | var size = new Vector2(texture.width, texture.height); 31 | var uv0 = new Vector2(); 32 | var uv1 = new Vector2(1, 1); 33 | var tintCol = new Vector4(1, 1, 1, 1); 34 | var borderCol = new Vector4(); 35 | ImGuiNative.igImage(idPtr, size, uv0, uv1, tintCol, borderCol); 36 | } 37 | 38 | public static void Image(Texture texture, Vector2 size) 39 | { 40 | var idPtr = ImageId(texture); 41 | var uv0 = new Vector2(); 42 | var uv1 = new Vector2(1, 1); 43 | var tintCol = new Vector4(1, 1, 1, 1); 44 | var borderCol = new Vector4(); 45 | ImGuiNative.igImage(idPtr, size, uv0, uv1, tintCol, borderCol); 46 | } 47 | 48 | public static void Image(Sprite sprite) 49 | { 50 | var texture = sprite.texture; 51 | var idPtr = ImageId(texture); 52 | var size = sprite.rect.size; 53 | var uvs = sprite.uv; // allocates memory 54 | var uv0 = new Vector2(uvs[0].x, 1f - uvs[0].y); 55 | var uv1 = new Vector2(uvs[1].x, 1f - uvs[1].y); 56 | var tintCol = new Vector4(1, 1, 1, 1); 57 | var borderCol = new Vector4(); 58 | ImGuiNative.igImage(idPtr, size, uv0, uv1, tintCol, borderCol); 59 | } 60 | 61 | public static void Image(Sprite sprite, Vector2 size) 62 | { 63 | var texture = sprite.texture; 64 | var idPtr = ImageId(texture); 65 | var uvs = sprite.uv; // allocates memory 66 | var uv0 = new Vector2(uvs[0].x, 1f - uvs[0].y); 67 | var uv1 = new Vector2(uvs[1].x, 1f - uvs[1].y); 68 | var tintCol = new Vector4(1, 1, 1, 1); 69 | var borderCol = new Vector4(); 70 | ImGuiNative.igImage(idPtr, size, uv0, uv1, tintCol, borderCol); 71 | } 72 | 73 | public static bool ImageButton(string str_id, Texture texture) 74 | { 75 | var idPtr = ImageId(texture); 76 | var size = new Vector2(texture.width, texture.height); 77 | return ImageButton(str_id, idPtr, size); 78 | } 79 | 80 | public static bool ImageButton(string str_id, Texture texture, Vector2 size) 81 | { 82 | var idPtr = ImageId(texture); 83 | return ImageButton(str_id, idPtr, size); 84 | } 85 | 86 | public static bool ImageButton(string str_id, Sprite sprite) 87 | { 88 | var texture = sprite.texture; 89 | var idPtr = ImageId(texture); 90 | var size = sprite.rect.size; 91 | var uvs = sprite.uv; // allocates memory 92 | var uv0 = new Vector2(uvs[0].x, 1f - uvs[0].y); 93 | var uv1 = new Vector2(uvs[1].x, 1f - uvs[1].y); 94 | return ImageButton(str_id, idPtr, size, uv0, uv1); 95 | } 96 | 97 | public static bool ImageButton(string str_id, Sprite sprite, Vector2 size) 98 | { 99 | var texture = sprite.texture; 100 | var idPtr = ImageId(texture); 101 | var uvs = sprite.uv; // allocates memory 102 | var uv0 = new Vector2(uvs[0].x, 1f - uvs[0].y); 103 | var uv1 = new Vector2(uvs[1].x, 1f - uvs[1].y); 104 | return ImageButton(str_id, idPtr, size, uv0, uv1); 105 | } 106 | } 107 | } --------------------------------------------------------------------------------