dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiTypingSelectRequest.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiTypingSelectRequest
( ImGuiTypingSelectRequest (..)
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImS8)
import DearImGui.Raw.Internal.Enums.ImGuiTypingSelectFlags (ImGuiTypingSelectFlags)
import Foreign.C.String (CString)
import Foreign.C.Types
import Foreign.Marshal.Alloc (alloca)
import Foreign.Ptr (Ptr, plusPtr)
import Foreign.Storable (Storable (..))
import GHC.Records (HasField (..))
import Prelude hiding (init)
#include "dcimgui_nodefaultargfunctions_internal.h"
-- structs (opaque)
data {-# CTYPE "dcimgui_nodefaultargfunctions_internal.h" "ImGuiTypingSelectRequest" #-} ImGuiTypingSelectRequest = ImGuiTypingSelectRequest
{ flags :: ImGuiTypingSelectFlags
, searchBufferLen :: CInt
, searchBuffer :: CString
, selectRequest :: CBool
, singleCharMode :: CBool
, singleCharSize :: ImS8
}
deriving (Eq, Show)
instance Storable ImGuiTypingSelectRequest where
sizeOf _ = #{size ImGuiTypingSelectRequest}
alignment _ = #{alignment ImGuiTypingSelectRequest}
peek p = ImGuiTypingSelectRequest <$> #{peek ImGuiTypingSelectRequest, Flags} p <*> #{peek ImGuiTypingSelectRequest, SearchBufferLen} p <*> #{peek ImGuiTypingSelectRequest, SearchBuffer} p <*> #{peek ImGuiTypingSelectRequest, SelectRequest} p <*> #{peek ImGuiTypingSelectRequest, SingleCharMode} p <*> #{peek ImGuiTypingSelectRequest, SingleCharSize} p
poke p v = do
#{poke ImGuiTypingSelectRequest, Flags} p v.flags
#{poke ImGuiTypingSelectRequest, SearchBufferLen} p v.searchBufferLen
#{poke ImGuiTypingSelectRequest, SearchBuffer} p v.searchBuffer
#{poke ImGuiTypingSelectRequest, SelectRequest} p v.selectRequest
#{poke ImGuiTypingSelectRequest, SingleCharMode} p v.singleCharMode
#{poke ImGuiTypingSelectRequest, SingleCharSize} p v.singleCharSize
instance HasField "flags" (Ptr ImGuiTypingSelectRequest) (Ptr ImGuiTypingSelectFlags) where
getField = #{ptr ImGuiTypingSelectRequest, Flags}
instance HasField "searchBufferLen" (Ptr ImGuiTypingSelectRequest) (Ptr CInt) where
getField = #{ptr ImGuiTypingSelectRequest, SearchBufferLen}
instance HasField "searchBuffer" (Ptr ImGuiTypingSelectRequest) (Ptr CString) where
getField = #{ptr ImGuiTypingSelectRequest, SearchBuffer}
instance HasField "selectRequest" (Ptr ImGuiTypingSelectRequest) (Ptr CBool) where
getField = #{ptr ImGuiTypingSelectRequest, SelectRequest}
instance HasField "singleCharMode" (Ptr ImGuiTypingSelectRequest) (Ptr CBool) where
getField = #{ptr ImGuiTypingSelectRequest, SingleCharMode}
instance HasField "singleCharSize" (Ptr ImGuiTypingSelectRequest) (Ptr ImS8) where
getField = #{ptr ImGuiTypingSelectRequest, SingleCharSize}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiTypingSelectRequest_Init_wrap"
init
:: Ptr ImGuiTypingSelectRequest
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiTypingSelectRequest_Destroy_wrap"
destroy
:: Ptr ImGuiTypingSelectRequest
-> IO ()
withDefault :: (Ptr ImGuiTypingSelectRequest -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)