private unsafe void InitDock()
        {
            uint windowId = ImGui.GetID($"###window_main");

            var nativeConfig = ImGuiNative.ImGuiWindowClass_ImGuiWindowClass();

            (*nativeConfig).ClassId = windowId;
            (*nativeConfig).DockingAllowUnclassed = 0;
            this.window_class = nativeConfig;
        }
        public unsafe void InitWindowDocker(int index)
        {
            if (init)
            {
                return;
            }

            uint windowId = ImGui.GetID($"###window_{Name}{index}");

            ImGuiWindowClass windowClass = new ImGuiWindowClass();

            windowClass.ClassId = windowId;
            windowClass.DockingAllowUnclassed = 0;
            this.window_class = &windowClass;

            init = true;
        }
 public ImGuiWindowClassPtr(ImGuiWindowClass *nativePtr) => NativePtr = nativePtr;