packages feed

dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImGuiInputTextCallbackData.hsc

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

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

module DearImGui.Raw.ImGuiInputTextCallbackData
  ( ImGuiInputTextCallbackData (..)
  , clearSelection
  , deleteChars
  , destroy
  , hasSelection
  , init
  , insertChars
  , selectAll
  , setSelection
  , withDefault
  ) where

import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID, ImWchar)
import DearImGui.Raw.Enums.ImGuiInputTextFlags (ImGuiInputTextFlags)
import DearImGui.Raw.Enums.ImGuiKey (ImGuiKey)
import DearImGui.Raw.ImGuiContext (ImGuiContext)
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.h"

-- structs (opaque)

data {-# CTYPE "dcimgui_nodefaultargfunctions.h" "ImGuiInputTextCallbackData" #-} ImGuiInputTextCallbackData = ImGuiInputTextCallbackData
  { ctx :: Ptr ImGuiContext
  , eventFlag :: ImGuiInputTextFlags
  , flags :: ImGuiInputTextFlags
  , userData :: Ptr ()
  , iD :: ImGuiID
  , eventKey :: ImGuiKey
  , eventChar :: ImWchar
  , eventActivated :: CBool
  , bufDirty :: CBool
  , buf :: Ptr CChar
  , bufTextLen :: CInt
  , bufSize :: CInt
  , cursorPos :: CInt
  , selectionStart :: CInt
  , selectionEnd :: CInt
  }
  deriving (Eq, Show)
instance Storable ImGuiInputTextCallbackData where
  sizeOf _    = #{size ImGuiInputTextCallbackData}
  alignment _ = #{alignment ImGuiInputTextCallbackData}
  peek p = ImGuiInputTextCallbackData <$> #{peek ImGuiInputTextCallbackData, Ctx} p <*> #{peek ImGuiInputTextCallbackData, EventFlag} p <*> #{peek ImGuiInputTextCallbackData, Flags} p <*> #{peek ImGuiInputTextCallbackData, UserData} p <*> #{peek ImGuiInputTextCallbackData, ID} p <*> #{peek ImGuiInputTextCallbackData, EventKey} p <*> #{peek ImGuiInputTextCallbackData, EventChar} p <*> #{peek ImGuiInputTextCallbackData, EventActivated} p <*> #{peek ImGuiInputTextCallbackData, BufDirty} p <*> #{peek ImGuiInputTextCallbackData, Buf} p <*> #{peek ImGuiInputTextCallbackData, BufTextLen} p <*> #{peek ImGuiInputTextCallbackData, BufSize} p <*> #{peek ImGuiInputTextCallbackData, CursorPos} p <*> #{peek ImGuiInputTextCallbackData, SelectionStart} p <*> #{peek ImGuiInputTextCallbackData, SelectionEnd} p
  poke p v = do
    #{poke ImGuiInputTextCallbackData, Ctx} p v.ctx
    #{poke ImGuiInputTextCallbackData, EventFlag} p v.eventFlag
    #{poke ImGuiInputTextCallbackData, Flags} p v.flags
    #{poke ImGuiInputTextCallbackData, UserData} p v.userData
    #{poke ImGuiInputTextCallbackData, ID} p v.iD
    #{poke ImGuiInputTextCallbackData, EventKey} p v.eventKey
    #{poke ImGuiInputTextCallbackData, EventChar} p v.eventChar
    #{poke ImGuiInputTextCallbackData, EventActivated} p v.eventActivated
    #{poke ImGuiInputTextCallbackData, BufDirty} p v.bufDirty
    #{poke ImGuiInputTextCallbackData, Buf} p v.buf
    #{poke ImGuiInputTextCallbackData, BufTextLen} p v.bufTextLen
    #{poke ImGuiInputTextCallbackData, BufSize} p v.bufSize
    #{poke ImGuiInputTextCallbackData, CursorPos} p v.cursorPos
    #{poke ImGuiInputTextCallbackData, SelectionStart} p v.selectionStart
    #{poke ImGuiInputTextCallbackData, SelectionEnd} p v.selectionEnd

instance HasField "ctx" (Ptr ImGuiInputTextCallbackData) (Ptr (Ptr ImGuiContext)) where
  getField = #{ptr ImGuiInputTextCallbackData, Ctx}

instance HasField "eventFlag" (Ptr ImGuiInputTextCallbackData) (Ptr ImGuiInputTextFlags) where
  getField = #{ptr ImGuiInputTextCallbackData, EventFlag}

instance HasField "flags" (Ptr ImGuiInputTextCallbackData) (Ptr ImGuiInputTextFlags) where
  getField = #{ptr ImGuiInputTextCallbackData, Flags}

instance HasField "userData" (Ptr ImGuiInputTextCallbackData) (Ptr (Ptr ())) where
  getField = #{ptr ImGuiInputTextCallbackData, UserData}

instance HasField "iD" (Ptr ImGuiInputTextCallbackData) (Ptr ImGuiID) where
  getField = #{ptr ImGuiInputTextCallbackData, ID}

instance HasField "eventKey" (Ptr ImGuiInputTextCallbackData) (Ptr ImGuiKey) where
  getField = #{ptr ImGuiInputTextCallbackData, EventKey}

instance HasField "eventChar" (Ptr ImGuiInputTextCallbackData) (Ptr ImWchar) where
  getField = #{ptr ImGuiInputTextCallbackData, EventChar}

instance HasField "eventActivated" (Ptr ImGuiInputTextCallbackData) (Ptr CBool) where
  getField = #{ptr ImGuiInputTextCallbackData, EventActivated}

instance HasField "bufDirty" (Ptr ImGuiInputTextCallbackData) (Ptr CBool) where
  getField = #{ptr ImGuiInputTextCallbackData, BufDirty}

instance HasField "buf" (Ptr ImGuiInputTextCallbackData) (Ptr (Ptr CChar)) where
  getField = #{ptr ImGuiInputTextCallbackData, Buf}

instance HasField "bufTextLen" (Ptr ImGuiInputTextCallbackData) (Ptr CInt) where
  getField = #{ptr ImGuiInputTextCallbackData, BufTextLen}

instance HasField "bufSize" (Ptr ImGuiInputTextCallbackData) (Ptr CInt) where
  getField = #{ptr ImGuiInputTextCallbackData, BufSize}

instance HasField "cursorPos" (Ptr ImGuiInputTextCallbackData) (Ptr CInt) where
  getField = #{ptr ImGuiInputTextCallbackData, CursorPos}

instance HasField "selectionStart" (Ptr ImGuiInputTextCallbackData) (Ptr CInt) where
  getField = #{ptr ImGuiInputTextCallbackData, SelectionStart}

instance HasField "selectionEnd" (Ptr ImGuiInputTextCallbackData) (Ptr CInt) where
  getField = #{ptr ImGuiInputTextCallbackData, SelectionEnd}

foreign import capi unsafe "DearImGuiWrappers.h ImGuiInputTextCallbackData_Init_wrap"
  init
    :: Ptr ImGuiInputTextCallbackData
    -> IO ()

foreign import capi unsafe "DearImGuiWrappers.h ImGuiInputTextCallbackData_Destroy_wrap"
  destroy
    :: Ptr ImGuiInputTextCallbackData
    -> IO ()

withDefault :: (Ptr ImGuiInputTextCallbackData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)

-- functions

-- C: void ClearSelection(ImGuiInputTextCallbackData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_ClearSelection"
  clearSelection
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> IO ()

-- C: void DeleteChars(ImGuiInputTextCallbackData* self, int pos, int bytes_count)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_DeleteChars"
  deleteChars
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> CInt -- ^ pos
    -> CInt -- ^ bytes_count
    -> IO ()

-- C: bool HasSelection(const ImGuiInputTextCallbackData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_HasSelection"
  hasSelection
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> IO CBool

-- C: void InsertChars(ImGuiInputTextCallbackData* self, int pos, const char* text, const char* text_end)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_InsertChars"
  insertChars
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> CInt -- ^ pos
    -> CString -- ^ text
    -> CString -- ^ text_end
    -> IO ()

-- C: void SelectAll(ImGuiInputTextCallbackData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_SelectAll"
  selectAll
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> IO ()

-- C: void SetSelection(ImGuiInputTextCallbackData* self, int s, int e)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiInputTextCallbackData_SetSelection"
  setSelection
    :: (Ptr ImGuiInputTextCallbackData) -- ^ self
    -> CInt -- ^ s
    -> CInt -- ^ e
    -> IO ()