public ImGuiSDL2CSWindow( string title = "ImGui.NET-SDL2-CS Window", int x = SDL.SDL_WINDOWPOS_CENTERED, int y = SDL.SDL_WINDOWPOS_CENTERED, int width = 800, int height = 600, SDL.SDL_WindowFlags flags = SDL.SDL_WindowFlags.SDL_WINDOW_OPENGL | SDL.SDL_WindowFlags.SDL_WINDOW_RESIZABLE | SDL.SDL_WindowFlags.SDL_WINDOW_HIDDEN ) : base(title, x, y, width, height, flags) { _IsSuperClass = GetType() == typeof(ImGuiSDL2CSWindow); ImGuiSDL2CSHelper.Init(); OnEvent = ImGuiOnEvent; OnLoop = ImGuiOnLoop; }
public virtual void ImGuiRender() { int mouseX, mouseY; uint mouseMask = SDL.SDL_GetMouseState(out mouseX, out mouseY); if ((SDL.SDL_GetWindowFlags(Handle) & (uint)SDL.SDL_WindowFlags.SDL_WINDOW_MOUSE_FOCUS) == 0) { mouseX = mouseY = -1; } ImGuiSDL2CSHelper.NewFrame(Size, System.Numerics.Vector2.One, new System.Numerics.Vector2(mouseX, mouseY), mouseMask, ref g_MouseWheel, g_MousePressed, ref g_Time); ImGuiLayout(); ImGuiSDL2CSHelper.Render(Size); }
public bool ImGuiOnEvent(SDL2Window window, SDL.SDL_Event e) => ImGuiSDL2CSHelper.HandleEvent(e, ref g_MouseWheel, g_MousePressed);