dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImGuiViewport.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.ImGuiViewport
( ImGuiViewport (..)
, c_getCenter
, c_getWorkCenter
, destroy
, getCenter
, getDebugName
, getWorkCenter
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
import DearImGui.Raw.Enums.ImGuiViewportFlags (ImGuiViewportFlags)
import DearImGui.Raw.ImDrawData (ImDrawData)
import DearImGui.Raw.ImVec2 (ImVec2)
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" "ImGuiViewport" #-} ImGuiViewport = ImGuiViewport
{ iD :: ImGuiID
, flags :: ImGuiViewportFlags
, pos :: ImVec2
, size :: ImVec2
, framebufferScale :: ImVec2
, workPos :: ImVec2
, workSize :: ImVec2
, dpiScale :: Float
, parentViewportId :: ImGuiID
, parentViewport :: Ptr ImGuiViewport
, drawData :: Ptr ImDrawData
, rendererUserData :: Ptr ()
, platformUserData :: Ptr ()
, platformIconData :: Ptr ()
, platformHandle :: Ptr ()
, platformHandleRaw :: Ptr ()
, platformWindowCreated :: CBool
, platformRequestMove :: CBool
, platformRequestResize :: CBool
, platformRequestClose :: CBool
}
deriving (Eq, Show)
instance Storable ImGuiViewport where
sizeOf _ = #{size ImGuiViewport}
alignment _ = #{alignment ImGuiViewport}
peek p = ImGuiViewport <$> #{peek ImGuiViewport, ID} p <*> #{peek ImGuiViewport, Flags} p <*> #{peek ImGuiViewport, Pos} p <*> #{peek ImGuiViewport, Size} p <*> #{peek ImGuiViewport, FramebufferScale} p <*> #{peek ImGuiViewport, WorkPos} p <*> #{peek ImGuiViewport, WorkSize} p <*> #{peek ImGuiViewport, DpiScale} p <*> #{peek ImGuiViewport, ParentViewportId} p <*> #{peek ImGuiViewport, ParentViewport} p <*> #{peek ImGuiViewport, DrawData} p <*> #{peek ImGuiViewport, RendererUserData} p <*> #{peek ImGuiViewport, PlatformUserData} p <*> #{peek ImGuiViewport, PlatformIconData} p <*> #{peek ImGuiViewport, PlatformHandle} p <*> #{peek ImGuiViewport, PlatformHandleRaw} p <*> #{peek ImGuiViewport, PlatformWindowCreated} p <*> #{peek ImGuiViewport, PlatformRequestMove} p <*> #{peek ImGuiViewport, PlatformRequestResize} p <*> #{peek ImGuiViewport, PlatformRequestClose} p
poke p v = do
#{poke ImGuiViewport, ID} p v.iD
#{poke ImGuiViewport, Flags} p v.flags
#{poke ImGuiViewport, Pos} p v.pos
#{poke ImGuiViewport, Size} p v.size
#{poke ImGuiViewport, FramebufferScale} p v.framebufferScale
#{poke ImGuiViewport, WorkPos} p v.workPos
#{poke ImGuiViewport, WorkSize} p v.workSize
#{poke ImGuiViewport, DpiScale} p v.dpiScale
#{poke ImGuiViewport, ParentViewportId} p v.parentViewportId
#{poke ImGuiViewport, ParentViewport} p v.parentViewport
#{poke ImGuiViewport, DrawData} p v.drawData
#{poke ImGuiViewport, RendererUserData} p v.rendererUserData
#{poke ImGuiViewport, PlatformUserData} p v.platformUserData
#{poke ImGuiViewport, PlatformIconData} p v.platformIconData
#{poke ImGuiViewport, PlatformHandle} p v.platformHandle
#{poke ImGuiViewport, PlatformHandleRaw} p v.platformHandleRaw
#{poke ImGuiViewport, PlatformWindowCreated} p v.platformWindowCreated
#{poke ImGuiViewport, PlatformRequestMove} p v.platformRequestMove
#{poke ImGuiViewport, PlatformRequestResize} p v.platformRequestResize
#{poke ImGuiViewport, PlatformRequestClose} p v.platformRequestClose
instance HasField "iD" (Ptr ImGuiViewport) (Ptr ImGuiID) where
getField = #{ptr ImGuiViewport, ID}
instance HasField "flags" (Ptr ImGuiViewport) (Ptr ImGuiViewportFlags) where
getField = #{ptr ImGuiViewport, Flags}
instance HasField "pos" (Ptr ImGuiViewport) (Ptr ImVec2) where
getField = #{ptr ImGuiViewport, Pos}
instance HasField "size" (Ptr ImGuiViewport) (Ptr ImVec2) where
getField = #{ptr ImGuiViewport, Size}
instance HasField "framebufferScale" (Ptr ImGuiViewport) (Ptr ImVec2) where
getField = #{ptr ImGuiViewport, FramebufferScale}
instance HasField "workPos" (Ptr ImGuiViewport) (Ptr ImVec2) where
getField = #{ptr ImGuiViewport, WorkPos}
instance HasField "workSize" (Ptr ImGuiViewport) (Ptr ImVec2) where
getField = #{ptr ImGuiViewport, WorkSize}
instance HasField "dpiScale" (Ptr ImGuiViewport) (Ptr Float) where
getField = #{ptr ImGuiViewport, DpiScale}
instance HasField "parentViewportId" (Ptr ImGuiViewport) (Ptr ImGuiID) where
getField = #{ptr ImGuiViewport, ParentViewportId}
instance HasField "parentViewport" (Ptr ImGuiViewport) (Ptr (Ptr ImGuiViewport)) where
getField = #{ptr ImGuiViewport, ParentViewport}
instance HasField "drawData" (Ptr ImGuiViewport) (Ptr (Ptr ImDrawData)) where
getField = #{ptr ImGuiViewport, DrawData}
instance HasField "rendererUserData" (Ptr ImGuiViewport) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewport, RendererUserData}
instance HasField "platformUserData" (Ptr ImGuiViewport) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewport, PlatformUserData}
instance HasField "platformIconData" (Ptr ImGuiViewport) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewport, PlatformIconData}
instance HasField "platformHandle" (Ptr ImGuiViewport) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewport, PlatformHandle}
instance HasField "platformHandleRaw" (Ptr ImGuiViewport) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewport, PlatformHandleRaw}
instance HasField "platformWindowCreated" (Ptr ImGuiViewport) (Ptr CBool) where
getField = #{ptr ImGuiViewport, PlatformWindowCreated}
instance HasField "platformRequestMove" (Ptr ImGuiViewport) (Ptr CBool) where
getField = #{ptr ImGuiViewport, PlatformRequestMove}
instance HasField "platformRequestResize" (Ptr ImGuiViewport) (Ptr CBool) where
getField = #{ptr ImGuiViewport, PlatformRequestResize}
instance HasField "platformRequestClose" (Ptr ImGuiViewport) (Ptr CBool) where
getField = #{ptr ImGuiViewport, PlatformRequestClose}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewport_Init_wrap"
init
:: Ptr ImGuiViewport
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewport_Destroy_wrap"
destroy
:: Ptr ImGuiViewport
-> IO ()
withDefault :: (Ptr ImGuiViewport -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewport_GetCenter_wrap"
c_getCenter
:: (Ptr ImGuiViewport) -- ^ self
-> (Ptr ImVec2) -- ^ out
-> IO ()
getCenter
:: (Ptr ImGuiViewport) -- ^ self
-> IO ImVec2
getCenter self =
alloca $ \outPtr -> c_getCenter self outPtr >> peek outPtr
-- C: const char* GetDebugName(const ImGuiViewport* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiViewport_GetDebugName"
getDebugName
:: (Ptr ImGuiViewport) -- ^ self
-> IO CString
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewport_GetWorkCenter_wrap"
c_getWorkCenter
:: (Ptr ImGuiViewport) -- ^ self
-> (Ptr ImVec2) -- ^ out
-> IO ()
getWorkCenter
:: (Ptr ImGuiViewport) -- ^ self
-> IO ImVec2
getWorkCenter self =
alloca $ \outPtr -> c_getWorkCenter self outPtr >> peek outPtr