packages feed

dear-imgui-impl-sdl3-1.0.0: src/DearImGui/Raw/Impl/SDL3/Enums/ImGui_ImplSDL3_MouseCaptureMode.hsc

{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}

-- This file was generated by dear-bindings-ffi. Do not edit by hand.

module DearImGui.Raw.Impl.SDL3.Enums.ImGui_ImplSDL3_MouseCaptureMode
  ( ImGui_ImplSDL3_MouseCaptureMode
  , pattern Disabled
  , pattern Enabled
  , pattern EnabledAfterDrag
  ) where

import Foreign.C.Types

#include "dcimgui_impl_sdl3.h"

-- enums

-- | (Advanced, for X11 users) Override Mouse Capture mode. Mouse capture allows receiving updated mouse position after clicking inside our window and dragging outside it.
-- Having this 'Enabled' is in theory always better. But, on X11 if you crash/break to debugger while capture is active you may temporarily lose access to your mouse.
-- The best solution is to setup your debugger to automatically release capture, e.g. 'setxkbmap -option grab:break_actions && xdotool key XF86Ungrab' or via a GDB script. See #3650.
-- But you may independently decide on X11, when a debugger is attached, to set this value to ImGui_ImplSDL3_MouseCaptureMode_Disabled.
type ImGui_ImplSDL3_MouseCaptureMode = CInt

pattern Enabled :: ImGui_ImplSDL3_MouseCaptureMode
pattern Enabled = #{const ImGui_ImplSDL3_MouseCaptureMode_Enabled}

pattern EnabledAfterDrag :: ImGui_ImplSDL3_MouseCaptureMode
pattern EnabledAfterDrag = #{const ImGui_ImplSDL3_MouseCaptureMode_EnabledAfterDrag}

pattern Disabled :: ImGui_ImplSDL3_MouseCaptureMode
pattern Disabled = #{const ImGui_ImplSDL3_MouseCaptureMode_Disabled}