packages feed

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

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

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

module DearImGui.Raw.Impl.SDL3
  ( SDL_Event
  , SDL_Gamepad
  , SDL_Renderer
  , SDL_Window
  , initForD3D
  , initForMetal
  , initForOpenGL
  , initForOther
  , initForSDLGPU
  , initForSDLRenderer
  , initForVulkan
  , newFrame
  , processEvent
  , setGamepadMode
  , setMouseCaptureMode
  , shutdown
  ) where

import DearImGui.Raw.Impl.SDL3.Enums.ImGui_ImplSDL3_GamepadMode (ImGui_ImplSDL3_GamepadMode)
import DearImGui.Raw.Impl.SDL3.Enums.ImGui_ImplSDL3_MouseCaptureMode (ImGui_ImplSDL3_MouseCaptureMode)
import Foreign.C.Types
import Foreign.Ptr (Ptr)

#include "dcimgui_impl_sdl3.h"

-- structs (opaque)

data SDL_Event

data SDL_Gamepad

data SDL_Renderer

data SDL_Window

-- functions

-- C: bool ImGui_ImplSDL3_InitForD3D(SDL_Window* window)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForD3D"
  initForD3D
    :: (Ptr SDL_Window) -- ^ window
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForMetal(SDL_Window* window)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForMetal"
  initForMetal
    :: (Ptr SDL_Window) -- ^ window
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForOpenGL(SDL_Window* window, void* sdl_gl_context)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForOpenGL"
  initForOpenGL
    :: (Ptr SDL_Window) -- ^ window
    -> (Ptr ()) -- ^ sdl_gl_context
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForOther(SDL_Window* window)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForOther"
  initForOther
    :: (Ptr SDL_Window) -- ^ window
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForSDLGPU(SDL_Window* window)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForSDLGPU"
  initForSDLGPU
    :: (Ptr SDL_Window) -- ^ window
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForSDLRenderer(SDL_Window* window, SDL_Renderer* renderer)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForSDLRenderer"
  initForSDLRenderer
    :: (Ptr SDL_Window) -- ^ window
    -> (Ptr SDL_Renderer) -- ^ renderer
    -> IO CBool

-- C: bool ImGui_ImplSDL3_InitForVulkan(SDL_Window* window)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_InitForVulkan"
  initForVulkan
    :: (Ptr SDL_Window) -- ^ window
    -> IO CBool

-- C: void ImGui_ImplSDL3_NewFrame()
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_NewFrame"
  newFrame :: IO ()

-- C: bool ImGui_ImplSDL3_ProcessEvent(const SDL_Event* event)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_ProcessEvent"
  processEvent
    :: (Ptr SDL_Event) -- ^ event
    -> IO CBool

-- C: void ImGui_ImplSDL3_SetGamepadMode(ImGui_ImplSDL3_GamepadMode mode, SDL_Gamepad** manual_gamepads_array, int manual_gamepads_count)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_SetGamepadMode"
  setGamepadMode
    :: ImGui_ImplSDL3_GamepadMode -- ^ mode
    -> (Ptr (Ptr SDL_Gamepad)) -- ^ manual_gamepads_array
    -> CInt -- ^ manual_gamepads_count
    -> IO ()

-- C: void ImGui_ImplSDL3_SetMouseCaptureMode(ImGui_ImplSDL3_MouseCaptureMode mode)
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_SetMouseCaptureMode"
  setMouseCaptureMode
    :: ImGui_ImplSDL3_MouseCaptureMode -- ^ mode
    -> IO ()

-- C: void ImGui_ImplSDL3_Shutdown()
foreign import capi safe "dcimgui_impl_sdl3.h cImGui_ImplSDL3_Shutdown"
  shutdown :: IO ()