{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Impl.SDLRenderer3
( ImGui_ImplSDLRenderer3_RenderState (..)
, SDL_Renderer
, createDeviceObjects
, destroyDeviceObjects
, getRenderState
, init
, newFrame
, renderDrawData
, shutdown
, updateTexture
) where
import DearImGui.Raw.ImDrawData (ImDrawData)
import DearImGui.Raw.ImTextureData (ImTextureData)
import Foreign.C.Types
import Foreign.Ptr (Ptr, plusPtr)
import Foreign.Storable (Storable (..))
import GHC.Records (HasField (..))
import Prelude hiding (init)
#include "dcimgui_impl_sdlrenderer3.h"
-- structs (opaque)
data {-# CTYPE "dcimgui_impl_sdlrenderer3.h" "ImGui_ImplSDLRenderer3_RenderState" #-} ImGui_ImplSDLRenderer3_RenderState = ImGui_ImplSDLRenderer3_RenderState
{ renderer :: Ptr SDL_Renderer
, currentScaleMode :: CInt
}
deriving (Eq, Show)
instance Storable ImGui_ImplSDLRenderer3_RenderState where
sizeOf _ = #{size ImGui_ImplSDLRenderer3_RenderState}
alignment _ = #{alignment ImGui_ImplSDLRenderer3_RenderState}
peek p = ImGui_ImplSDLRenderer3_RenderState <$> #{peek ImGui_ImplSDLRenderer3_RenderState, Renderer} p <*> #{peek ImGui_ImplSDLRenderer3_RenderState, CurrentScaleMode} p
poke p v = do
#{poke ImGui_ImplSDLRenderer3_RenderState, Renderer} p v.renderer
#{poke ImGui_ImplSDLRenderer3_RenderState, CurrentScaleMode} p v.currentScaleMode
instance HasField "renderer" (Ptr ImGui_ImplSDLRenderer3_RenderState) (Ptr (Ptr SDL_Renderer)) where
getField = #{ptr ImGui_ImplSDLRenderer3_RenderState, Renderer}
instance HasField "currentScaleMode" (Ptr ImGui_ImplSDLRenderer3_RenderState) (Ptr CInt) where
getField = #{ptr ImGui_ImplSDLRenderer3_RenderState, CurrentScaleMode}
data SDL_Renderer
-- functions
-- C: void ImGui_ImplSDLRenderer3_CreateDeviceObjects()
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_CreateDeviceObjects"
createDeviceObjects :: IO ()
-- C: void ImGui_ImplSDLRenderer3_DestroyDeviceObjects()
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_DestroyDeviceObjects"
destroyDeviceObjects :: IO ()
-- C: ImGui_ImplSDLRenderer3_RenderState* ImGui_ImplSDLRenderer3_GetRenderState()
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_GetRenderState"
getRenderState :: IO (Ptr ImGui_ImplSDLRenderer3_RenderState)
-- C: bool ImGui_ImplSDLRenderer3_Init(SDL_Renderer* renderer)
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_Init"
init
:: (Ptr SDL_Renderer) -- ^ renderer
-> IO CBool
-- C: void ImGui_ImplSDLRenderer3_NewFrame()
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_NewFrame"
newFrame :: IO ()
-- C: void ImGui_ImplSDLRenderer3_RenderDrawData(ImDrawData* draw_data, SDL_Renderer* renderer)
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_RenderDrawData"
renderDrawData
:: (Ptr ImDrawData) -- ^ draw_data
-> (Ptr SDL_Renderer) -- ^ renderer
-> IO ()
-- C: void ImGui_ImplSDLRenderer3_Shutdown()
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_Shutdown"
shutdown :: IO ()
-- C: void ImGui_ImplSDLRenderer3_UpdateTexture(ImTextureData* tex)
foreign import capi safe "dcimgui_impl_sdlrenderer3.h cImGui_ImplSDLRenderer3_UpdateTexture"
updateTexture
:: (Ptr ImTextureData) -- ^ tex
-> IO ()