packages feed

dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiWindowTempData.hsc

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

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

module DearImGui.Raw.Internal.ImGuiWindowTempData
  ( ImGuiWindowTempData
  , destroy
  , init
  , withDefault
  ) where

import Control.Exception (bracket_)
import DearImGui.Raw (ImU32)
import DearImGui.Raw.ImGuiStorage (ImGuiStorage)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.ImVector (ImVector)
import DearImGui.Raw.Internal.Enums.ImGuiItemStatusFlags (ImGuiItemStatusFlags)
import DearImGui.Raw.Internal.Enums.ImGuiLayoutType (ImGuiLayoutType)
import DearImGui.Raw.Internal.Enums.ImGuiNavLayer (ImGuiNavLayer)
import DearImGui.Raw.Internal.ImGuiMenuColumns (ImGuiMenuColumns)
import DearImGui.Raw.Internal.ImGuiOldColumns (ImGuiOldColumns)
import {-# SOURCE #-} DearImGui.Raw.Internal.ImGuiWindow (ImGuiWindow)
import DearImGui.Raw.Internal.ImRect (ImRect)
import DearImGui.Raw.Internal.ImVec1 (ImVec1)
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 ImGuiWindowTempData
instance Storable ImGuiWindowTempData where
  sizeOf _    = #{size ImGuiWindowTempData}
  alignment _ = #{alignment ImGuiWindowTempData}
  peek _ = error "ImGuiWindowTempData: opaque struct, peek not supported in v0"
  poke _ _ = error "ImGuiWindowTempData: opaque struct, poke not supported in v0"

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

instance HasField "cursorPosPrevLine" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, CursorPosPrevLine}

instance HasField "cursorStartPos" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, CursorStartPos}

instance HasField "cursorMaxPos" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, CursorMaxPos}

instance HasField "idealMaxPos" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, IdealMaxPos}

instance HasField "currLineSize" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, CurrLineSize}

instance HasField "prevLineSize" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, PrevLineSize}

instance HasField "currLineTextBaseOffset" (Ptr ImGuiWindowTempData) (Ptr Float) where
  getField = #{ptr ImGuiWindowTempData, CurrLineTextBaseOffset}

instance HasField "prevLineTextBaseOffset" (Ptr ImGuiWindowTempData) (Ptr Float) where
  getField = #{ptr ImGuiWindowTempData, PrevLineTextBaseOffset}

instance HasField "isSameLine" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, IsSameLine}

instance HasField "isSetPos" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, IsSetPos}

instance HasField "indent" (Ptr ImGuiWindowTempData) (Ptr ImVec1) where
  getField = #{ptr ImGuiWindowTempData, Indent}

instance HasField "columnsOffset" (Ptr ImGuiWindowTempData) (Ptr ImVec1) where
  getField = #{ptr ImGuiWindowTempData, ColumnsOffset}

instance HasField "groupOffset" (Ptr ImGuiWindowTempData) (Ptr ImVec1) where
  getField = #{ptr ImGuiWindowTempData, GroupOffset}

instance HasField "cursorStartPosLossyness" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, CursorStartPosLossyness}

instance HasField "navLayerCurrent" (Ptr ImGuiWindowTempData) (Ptr ImGuiNavLayer) where
  getField = #{ptr ImGuiWindowTempData, NavLayerCurrent}

instance HasField "navLayersActiveMask" (Ptr ImGuiWindowTempData) (Ptr CShort) where
  getField = #{ptr ImGuiWindowTempData, NavLayersActiveMask}

instance HasField "navLayersActiveMaskNext" (Ptr ImGuiWindowTempData) (Ptr CShort) where
  getField = #{ptr ImGuiWindowTempData, NavLayersActiveMaskNext}

instance HasField "navIsScrollPushableX" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, NavIsScrollPushableX}

instance HasField "navHideHighlightOneFrame" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, NavHideHighlightOneFrame}

instance HasField "navWindowHasScrollY" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, NavWindowHasScrollY}

instance HasField "menuBarAppending" (Ptr ImGuiWindowTempData) (Ptr CBool) where
  getField = #{ptr ImGuiWindowTempData, MenuBarAppending}

instance HasField "menuBarOffset" (Ptr ImGuiWindowTempData) (Ptr ImVec2) where
  getField = #{ptr ImGuiWindowTempData, MenuBarOffset}

instance HasField "menuColumns" (Ptr ImGuiWindowTempData) (Ptr ImGuiMenuColumns) where
  getField = #{ptr ImGuiWindowTempData, MenuColumns}

instance HasField "treeDepth" (Ptr ImGuiWindowTempData) (Ptr CInt) where
  getField = #{ptr ImGuiWindowTempData, TreeDepth}

instance HasField "treeHasStackDataDepthMask" (Ptr ImGuiWindowTempData) (Ptr ImU32) where
  getField = #{ptr ImGuiWindowTempData, TreeHasStackDataDepthMask}

instance HasField "treeRecordsClippedNodesY2Mask" (Ptr ImGuiWindowTempData) (Ptr ImU32) where
  getField = #{ptr ImGuiWindowTempData, TreeRecordsClippedNodesY2Mask}

instance HasField "childWindows" (Ptr ImGuiWindowTempData) (Ptr (ImVector (Ptr ImGuiWindow))) where
  getField = #{ptr ImGuiWindowTempData, ChildWindows}

instance HasField "stateStorage" (Ptr ImGuiWindowTempData) (Ptr (Ptr ImGuiStorage)) where
  getField = #{ptr ImGuiWindowTempData, StateStorage}

instance HasField "currentColumns" (Ptr ImGuiWindowTempData) (Ptr (Ptr ImGuiOldColumns)) where
  getField = #{ptr ImGuiWindowTempData, CurrentColumns}

instance HasField "currentTableIdx" (Ptr ImGuiWindowTempData) (Ptr CInt) where
  getField = #{ptr ImGuiWindowTempData, CurrentTableIdx}

instance HasField "layoutType" (Ptr ImGuiWindowTempData) (Ptr ImGuiLayoutType) where
  getField = #{ptr ImGuiWindowTempData, LayoutType}

instance HasField "parentLayoutType" (Ptr ImGuiWindowTempData) (Ptr ImGuiLayoutType) where
  getField = #{ptr ImGuiWindowTempData, ParentLayoutType}

instance HasField "modalDimBgColor" (Ptr ImGuiWindowTempData) (Ptr ImU32) where
  getField = #{ptr ImGuiWindowTempData, ModalDimBgColor}

instance HasField "windowItemStatusFlags" (Ptr ImGuiWindowTempData) (Ptr ImGuiItemStatusFlags) where
  getField = #{ptr ImGuiWindowTempData, WindowItemStatusFlags}

instance HasField "childItemStatusFlags" (Ptr ImGuiWindowTempData) (Ptr ImGuiItemStatusFlags) where
  getField = #{ptr ImGuiWindowTempData, ChildItemStatusFlags}

instance HasField "dockTabItemStatusFlags" (Ptr ImGuiWindowTempData) (Ptr ImGuiItemStatusFlags) where
  getField = #{ptr ImGuiWindowTempData, DockTabItemStatusFlags}

instance HasField "dockTabItemRect" (Ptr ImGuiWindowTempData) (Ptr ImRect) where
  getField = #{ptr ImGuiWindowTempData, DockTabItemRect}

instance HasField "itemWidth" (Ptr ImGuiWindowTempData) (Ptr Float) where
  getField = #{ptr ImGuiWindowTempData, ItemWidth}

instance HasField "itemWidthDefault" (Ptr ImGuiWindowTempData) (Ptr Float) where
  getField = #{ptr ImGuiWindowTempData, ItemWidthDefault}

instance HasField "textWrapPos" (Ptr ImGuiWindowTempData) (Ptr Float) where
  getField = #{ptr ImGuiWindowTempData, TextWrapPos}

instance HasField "itemWidthStack" (Ptr ImGuiWindowTempData) (Ptr (ImVector Float)) where
  getField = #{ptr ImGuiWindowTempData, ItemWidthStack}

instance HasField "textWrapPosStack" (Ptr ImGuiWindowTempData) (Ptr (ImVector Float)) where
  getField = #{ptr ImGuiWindowTempData, TextWrapPosStack}

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

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

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