{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Impl.SDLRenderer2
( ImGui_ImplSDLRenderer2_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_sdlrenderer2.h"
-- structs (opaque)
newtype {-# CTYPE "dcimgui_impl_sdlrenderer2.h" "ImGui_ImplSDLRenderer2_RenderState" #-} ImGui_ImplSDLRenderer2_RenderState = ImGui_ImplSDLRenderer2_RenderState
{ renderer :: Ptr SDL_Renderer
}
deriving (Eq, Show)
instance Storable ImGui_ImplSDLRenderer2_RenderState where
sizeOf _ = #{size ImGui_ImplSDLRenderer2_RenderState}
alignment _ = #{alignment ImGui_ImplSDLRenderer2_RenderState}
peek p = ImGui_ImplSDLRenderer2_RenderState <$> #{peek ImGui_ImplSDLRenderer2_RenderState, Renderer} p
poke p v = do
#{poke ImGui_ImplSDLRenderer2_RenderState, Renderer} p v.renderer
instance HasField "renderer" (Ptr ImGui_ImplSDLRenderer2_RenderState) (Ptr (Ptr SDL_Renderer)) where
getField = #{ptr ImGui_ImplSDLRenderer2_RenderState, Renderer}
data SDL_Renderer
-- functions
-- C: void ImGui_ImplSDLRenderer2_CreateDeviceObjects()
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_CreateDeviceObjects"
createDeviceObjects :: IO ()
-- C: void ImGui_ImplSDLRenderer2_DestroyDeviceObjects()
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_DestroyDeviceObjects"
destroyDeviceObjects :: IO ()
-- C: ImGui_ImplSDLRenderer2_RenderState* ImGui_ImplSDLRenderer2_GetRenderState()
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_GetRenderState"
getRenderState :: IO (Ptr ImGui_ImplSDLRenderer2_RenderState)
-- C: bool ImGui_ImplSDLRenderer2_Init(SDL_Renderer* renderer)
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_Init"
init
:: (Ptr SDL_Renderer) -- ^ renderer
-> IO CBool
-- C: void ImGui_ImplSDLRenderer2_NewFrame()
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_NewFrame"
newFrame :: IO ()
-- C: void ImGui_ImplSDLRenderer2_RenderDrawData(ImDrawData* draw_data, SDL_Renderer* renderer)
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_RenderDrawData"
renderDrawData
:: (Ptr ImDrawData) -- ^ draw_data
-> (Ptr SDL_Renderer) -- ^ renderer
-> IO ()
-- C: void ImGui_ImplSDLRenderer2_Shutdown()
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_Shutdown"
shutdown :: IO ()
-- C: void ImGui_ImplSDLRenderer2_UpdateTexture(ImTextureData* tex)
foreign import capi safe "dcimgui_impl_sdlrenderer2.h cImGui_ImplSDLRenderer2_UpdateTexture"
updateTexture
:: (Ptr ImTextureData) -- ^ tex
-> IO ()