diff --git a/addons/imgui-godot/ImGuiGodot/Internal/CanvasRenderer.cs b/addons/imgui-godot/ImGuiGodot/Internal/CanvasRenderer.cs index 548a09a..9e1205b 100644 --- a/addons/imgui-godot/ImGuiGodot/Internal/CanvasRenderer.cs +++ b/addons/imgui-godot/ImGuiGodot/Internal/CanvasRenderer.cs @@ -20,12 +20,6 @@ private sealed class ViewportData public string Name => "godot4_net_canvas"; - public void Init(ImGuiIOPtr io) - { - io.BackendFlags |= ImGuiBackendFlags.RendererHasVtxOffset; - io.BackendFlags |= ImGuiBackendFlags.RendererHasViewports; - } - public void InitViewport(Rid vprid) { Rid canvas = RenderingServer.CanvasCreate(); diff --git a/addons/imgui-godot/ImGuiGodot/Internal/DummyRenderer.cs b/addons/imgui-godot/ImGuiGodot/Internal/DummyRenderer.cs index 8d34968..410e692 100644 --- a/addons/imgui-godot/ImGuiGodot/Internal/DummyRenderer.cs +++ b/addons/imgui-godot/ImGuiGodot/Internal/DummyRenderer.cs @@ -1,6 +1,5 @@ #if GODOT_PC using Godot; -using ImGuiNET; namespace ImGuiGodot.Internal; @@ -8,10 +7,6 @@ internal sealed class DummyRenderer : IRenderer { public string Name => "godot4_net_dummy"; - public void Init(ImGuiIOPtr io) - { - } - public void InitViewport(Rid vprid) { } diff --git a/addons/imgui-godot/ImGuiGodot/Internal/IRenderer.cs b/addons/imgui-godot/ImGuiGodot/Internal/IRenderer.cs new file mode 100644 index 0000000..e8d0a17 --- /dev/null +++ b/addons/imgui-godot/ImGuiGodot/Internal/IRenderer.cs @@ -0,0 +1,13 @@ +using Godot; + +namespace ImGuiGodot.Internal; + +internal interface IRenderer +{ + public string Name { get; } + public void InitViewport(Rid vprid); + public void CloseViewport(Rid vprid); + public void RenderDrawData(); + public void OnHide(); + public void Shutdown(); +} diff --git a/addons/imgui-godot/ImGuiGodot/Internal/RdRenderer.cs b/addons/imgui-godot/ImGuiGodot/Internal/RdRenderer.cs index 53dceda..33834a7 100644 --- a/addons/imgui-godot/ImGuiGodot/Internal/RdRenderer.cs +++ b/addons/imgui-godot/ImGuiGodot/Internal/RdRenderer.cs @@ -143,12 +143,6 @@ public RdRenderer() _uniformArray.Resize(1); } - public void Init(ImGuiIOPtr io) - { - io.BackendFlags |= ImGuiBackendFlags.RendererHasVtxOffset; - io.BackendFlags |= ImGuiBackendFlags.RendererHasViewports; - } - public void InitViewport(Rid vprid) { //RenderingServer.ViewportSetUpdateMode(vprid, RenderingServer.ViewportUpdateMode.Disabled); diff --git a/addons/imgui-godot/ImGuiGodot/Internal/State.cs b/addons/imgui-godot/ImGuiGodot/Internal/State.cs index 793dc62..df97ecb 100644 --- a/addons/imgui-godot/ImGuiGodot/Internal/State.cs +++ b/addons/imgui-godot/ImGuiGodot/Internal/State.cs @@ -6,17 +6,6 @@ namespace ImGuiGodot.Internal; -internal interface IRenderer -{ - public string Name { get; } - public void Init(ImGuiIOPtr io); - public void InitViewport(Rid vprid); - public void CloseViewport(Rid vprid); - public void RenderDrawData(); - public void OnHide(); - public void Shutdown(); -} - internal sealed class State : IDisposable { private enum RendererType @@ -52,10 +41,12 @@ public State(Window mainWindow, Rid mainSubViewport, IRenderer renderer) ImGui.SetCurrentContext(context); var io = ImGui.GetIO(); - io.BackendFlags = 0; - io.BackendFlags |= ImGuiBackendFlags.HasGamepad; - io.BackendFlags |= ImGuiBackendFlags.HasSetMousePos; - io.BackendFlags |= ImGuiBackendFlags.HasMouseCursors; + io.BackendFlags = + ImGuiBackendFlags.HasGamepad | + ImGuiBackendFlags.HasSetMousePos | + ImGuiBackendFlags.HasMouseCursors | + ImGuiBackendFlags.RendererHasVtxOffset | + ImGuiBackendFlags.RendererHasViewports; if (_rendererName == IntPtr.Zero) {