dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiViewportP.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiViewportP
( ImGuiViewportP
, bgFgDrawListsLastFrameActiveLength
, bgFgDrawListsLastTimeActiveLength
, bgFgDrawListsLength
, c_calcWorkRectPos
, c_calcWorkRectSize
, c_getBuildWorkRect
, c_getMainRect
, c_getWorkRect
, calcWorkRectPos
, calcWorkRectSize
, clearRequestFlags
, destroy
, getBuildWorkRect
, getMainRect
, getWorkRect
, init
, updateWorkRect
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
import DearImGui.Raw.Enums.ImGuiViewportFlags (ImGuiViewportFlags)
import DearImGui.Raw.ImDrawData (ImDrawData)
import DearImGui.Raw.ImDrawList (ImDrawList)
import DearImGui.Raw.ImGuiViewport (ImGuiViewport)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.Internal.ImDrawDataBuilder (ImDrawDataBuilder)
import DearImGui.Raw.Internal.ImGuiWindow (ImGuiWindow)
import DearImGui.Raw.Internal.ImRect (ImRect)
import Foreign.C.Types
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Utils (with)
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 ImGuiViewportP
instance Storable ImGuiViewportP where
sizeOf _ = #{size ImGuiViewportP}
alignment _ = #{alignment ImGuiViewportP}
peek _ = error "ImGuiViewportP: opaque struct, peek not supported in v0"
poke _ _ = error "ImGuiViewportP: opaque struct, poke not supported in v0"
instance HasField "iD" (Ptr ImGuiViewportP) (Ptr ImGuiID) where
getField = #{ptr ImGuiViewportP, ID}
instance HasField "flags" (Ptr ImGuiViewportP) (Ptr ImGuiViewportFlags) where
getField = #{ptr ImGuiViewportP, Flags}
instance HasField "pos" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, Pos}
instance HasField "size" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, Size}
instance HasField "framebufferScale" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, FramebufferScale}
instance HasField "workPos" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, WorkPos}
instance HasField "workSize" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, WorkSize}
instance HasField "dpiScale" (Ptr ImGuiViewportP) (Ptr Float) where
getField = #{ptr ImGuiViewportP, DpiScale}
instance HasField "parentViewportId" (Ptr ImGuiViewportP) (Ptr ImGuiID) where
getField = #{ptr ImGuiViewportP, ParentViewportId}
instance HasField "parentViewport" (Ptr ImGuiViewportP) (Ptr (Ptr ImGuiViewport)) where
getField = #{ptr ImGuiViewportP, ParentViewport}
instance HasField "drawData" (Ptr ImGuiViewportP) (Ptr (Ptr ImDrawData)) where
getField = #{ptr ImGuiViewportP, DrawData}
instance HasField "rendererUserData" (Ptr ImGuiViewportP) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewportP, RendererUserData}
instance HasField "platformUserData" (Ptr ImGuiViewportP) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewportP, PlatformUserData}
instance HasField "platformIconData" (Ptr ImGuiViewportP) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewportP, PlatformIconData}
instance HasField "platformHandle" (Ptr ImGuiViewportP) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewportP, PlatformHandle}
instance HasField "platformHandleRaw" (Ptr ImGuiViewportP) (Ptr (Ptr ())) where
getField = #{ptr ImGuiViewportP, PlatformHandleRaw}
instance HasField "platformWindowCreated" (Ptr ImGuiViewportP) (Ptr CBool) where
getField = #{ptr ImGuiViewportP, PlatformWindowCreated}
instance HasField "platformRequestMove" (Ptr ImGuiViewportP) (Ptr CBool) where
getField = #{ptr ImGuiViewportP, PlatformRequestMove}
instance HasField "platformRequestResize" (Ptr ImGuiViewportP) (Ptr CBool) where
getField = #{ptr ImGuiViewportP, PlatformRequestResize}
instance HasField "platformRequestClose" (Ptr ImGuiViewportP) (Ptr CBool) where
getField = #{ptr ImGuiViewportP, PlatformRequestClose}
instance HasField "window" (Ptr ImGuiViewportP) (Ptr (Ptr ImGuiWindow)) where
getField = #{ptr ImGuiViewportP, Window}
instance HasField "idx" (Ptr ImGuiViewportP) (Ptr CInt) where
getField = #{ptr ImGuiViewportP, Idx}
instance HasField "lastFrameActive" (Ptr ImGuiViewportP) (Ptr CInt) where
getField = #{ptr ImGuiViewportP, LastFrameActive}
instance HasField "lastFocusedStampCount" (Ptr ImGuiViewportP) (Ptr CInt) where
getField = #{ptr ImGuiViewportP, LastFocusedStampCount}
instance HasField "lastNameHash" (Ptr ImGuiViewportP) (Ptr ImGuiID) where
getField = #{ptr ImGuiViewportP, LastNameHash}
instance HasField "lastPos" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, LastPos}
instance HasField "lastSize" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, LastSize}
instance HasField "alpha" (Ptr ImGuiViewportP) (Ptr Float) where
getField = #{ptr ImGuiViewportP, Alpha}
instance HasField "lastAlpha" (Ptr ImGuiViewportP) (Ptr Float) where
getField = #{ptr ImGuiViewportP, LastAlpha}
instance HasField "lastFocusedHadNavWindow" (Ptr ImGuiViewportP) (Ptr CBool) where
getField = #{ptr ImGuiViewportP, LastFocusedHadNavWindow}
instance HasField "platformMonitor" (Ptr ImGuiViewportP) (Ptr CShort) where
getField = #{ptr ImGuiViewportP, PlatformMonitor}
instance HasField "bgFgDrawLists" (Ptr ImGuiViewportP) (Ptr (Ptr ImDrawList)) where
getField = #{ptr ImGuiViewportP, BgFgDrawLists}
bgFgDrawListsLength :: Int
bgFgDrawListsLength = #{const 2}
instance HasField "bgFgDrawListsLastFrameActive" (Ptr ImGuiViewportP) (Ptr CInt) where
getField = #{ptr ImGuiViewportP, BgFgDrawListsLastFrameActive}
bgFgDrawListsLastFrameActiveLength :: Int
bgFgDrawListsLastFrameActiveLength = #{const 2}
instance HasField "bgFgDrawListsLastTimeActive" (Ptr ImGuiViewportP) (Ptr Float) where
getField = #{ptr ImGuiViewportP, BgFgDrawListsLastTimeActive}
bgFgDrawListsLastTimeActiveLength :: Int
bgFgDrawListsLastTimeActiveLength = #{const 2}
instance HasField "drawDataP" (Ptr ImGuiViewportP) (Ptr ImDrawData) where
getField = #{ptr ImGuiViewportP, DrawDataP}
instance HasField "drawDataBuilder" (Ptr ImGuiViewportP) (Ptr ImDrawDataBuilder) where
getField = #{ptr ImGuiViewportP, DrawDataBuilder}
instance HasField "lastPlatformPos" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, LastPlatformPos}
instance HasField "lastPlatformSize" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, LastPlatformSize}
instance HasField "lastRendererSize" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, LastRendererSize}
instance HasField "workInsetMin" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, WorkInsetMin}
instance HasField "workInsetMax" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, WorkInsetMax}
instance HasField "buildWorkInsetMin" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, BuildWorkInsetMin}
instance HasField "buildWorkInsetMax" (Ptr ImGuiViewportP) (Ptr ImVec2) where
getField = #{ptr ImGuiViewportP, BuildWorkInsetMax}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_Init_wrap"
init
:: Ptr ImGuiViewportP
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_Destroy_wrap"
destroy
:: Ptr ImGuiViewportP
-> IO ()
withDefault :: (Ptr ImGuiViewportP -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_CalcWorkRectPos_wrap"
c_calcWorkRectPos
:: (Ptr ImGuiViewportP) -- ^ self
-> (Ptr ImVec2) -- ^ inset_min
-> (Ptr ImVec2) -- ^ out
-> IO ()
calcWorkRectPos
:: (Ptr ImGuiViewportP) -- ^ self
-> ImVec2 -- ^ inset_min
-> IO ImVec2
calcWorkRectPos self inset_min =
with inset_min $ \inset_minPtr -> alloca $ \outPtr -> c_calcWorkRectPos self inset_minPtr outPtr >> peek outPtr
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_CalcWorkRectSize_wrap"
c_calcWorkRectSize
:: (Ptr ImGuiViewportP) -- ^ self
-> (Ptr ImVec2) -- ^ inset_min
-> (Ptr ImVec2) -- ^ inset_max
-> (Ptr ImVec2) -- ^ out
-> IO ()
calcWorkRectSize
:: (Ptr ImGuiViewportP) -- ^ self
-> ImVec2 -- ^ inset_min
-> ImVec2 -- ^ inset_max
-> IO ImVec2
calcWorkRectSize self inset_min inset_max =
with inset_min $ \inset_minPtr -> with inset_max $ \inset_maxPtr -> alloca $ \outPtr -> c_calcWorkRectSize self inset_minPtr inset_maxPtr outPtr >> peek outPtr
-- C: void ClearRequestFlags(ImGuiViewportP* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiViewportP_ClearRequestFlags"
clearRequestFlags
:: (Ptr ImGuiViewportP) -- ^ self
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_GetBuildWorkRect_wrap"
c_getBuildWorkRect
:: (Ptr ImGuiViewportP) -- ^ self
-> (Ptr ImRect) -- ^ out
-> IO ()
getBuildWorkRect
:: (Ptr ImGuiViewportP) -- ^ self
-> IO ImRect
getBuildWorkRect self =
alloca $ \outPtr -> c_getBuildWorkRect self outPtr >> peek outPtr
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_GetMainRect_wrap"
c_getMainRect
:: (Ptr ImGuiViewportP) -- ^ self
-> (Ptr ImRect) -- ^ out
-> IO ()
getMainRect
:: (Ptr ImGuiViewportP) -- ^ self
-> IO ImRect
getMainRect self =
alloca $ \outPtr -> c_getMainRect self outPtr >> peek outPtr
foreign import capi unsafe "DearImGuiWrappers.h ImGuiViewportP_GetWorkRect_wrap"
c_getWorkRect
:: (Ptr ImGuiViewportP) -- ^ self
-> (Ptr ImRect) -- ^ out
-> IO ()
getWorkRect
:: (Ptr ImGuiViewportP) -- ^ self
-> IO ImRect
getWorkRect self =
alloca $ \outPtr -> c_getWorkRect self outPtr >> peek outPtr
-- C: void UpdateWorkRect(ImGuiViewportP* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiViewportP_UpdateWorkRect"
updateWorkRect
:: (Ptr ImGuiViewportP) -- ^ self
-> IO ()