dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImGuiStyle.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.ImGuiStyle
( ImGuiStyle
, colorsLength
, destroy
, init
, scaleAllSizes
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw.Enums.ImGuiDir (ImGuiDir)
import DearImGui.Raw.Enums.ImGuiHoveredFlags (ImGuiHoveredFlags)
import DearImGui.Raw.Enums.ImGuiTreeNodeFlags (ImGuiTreeNodeFlags)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.ImVec4 (ImVec4)
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 ImGuiStyle
instance Storable ImGuiStyle where
sizeOf _ = #{size ImGuiStyle}
alignment _ = #{alignment ImGuiStyle}
peek _ = error "ImGuiStyle: opaque struct, peek not supported in v0"
poke _ _ = error "ImGuiStyle: opaque struct, poke not supported in v0"
instance HasField "fontSizeBase" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, FontSizeBase}
instance HasField "fontScaleMain" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, FontScaleMain}
instance HasField "fontScaleDpi" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, FontScaleDpi}
instance HasField "alpha" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, Alpha}
instance HasField "disabledAlpha" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, DisabledAlpha}
instance HasField "windowPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, WindowPadding}
instance HasField "windowRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, WindowRounding}
instance HasField "windowBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, WindowBorderSize}
instance HasField "windowBorderHoverPadding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, WindowBorderHoverPadding}
instance HasField "windowMinSize" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, WindowMinSize}
instance HasField "windowTitleAlign" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, WindowTitleAlign}
instance HasField "windowMenuButtonPosition" (Ptr ImGuiStyle) (Ptr ImGuiDir) where
getField = #{ptr ImGuiStyle, WindowMenuButtonPosition}
instance HasField "childRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ChildRounding}
instance HasField "childBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ChildBorderSize}
instance HasField "popupRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, PopupRounding}
instance HasField "popupBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, PopupBorderSize}
instance HasField "framePadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, FramePadding}
instance HasField "frameRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, FrameRounding}
instance HasField "frameBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, FrameBorderSize}
instance HasField "itemSpacing" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, ItemSpacing}
instance HasField "itemInnerSpacing" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, ItemInnerSpacing}
instance HasField "cellPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, CellPadding}
instance HasField "touchExtraPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, TouchExtraPadding}
instance HasField "indentSpacing" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, IndentSpacing}
instance HasField "columnsMinSpacing" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ColumnsMinSpacing}
instance HasField "scrollbarSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ScrollbarSize}
instance HasField "scrollbarRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ScrollbarRounding}
instance HasField "scrollbarPadding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ScrollbarPadding}
instance HasField "grabMinSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, GrabMinSize}
instance HasField "grabRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, GrabRounding}
instance HasField "logSliderDeadzone" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, LogSliderDeadzone}
instance HasField "imageRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ImageRounding}
instance HasField "imageBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ImageBorderSize}
instance HasField "tabRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabRounding}
instance HasField "tabBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabBorderSize}
instance HasField "tabMinWidthBase" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabMinWidthBase}
instance HasField "tabMinWidthShrink" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabMinWidthShrink}
instance HasField "tabCloseButtonMinWidthSelected" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabCloseButtonMinWidthSelected}
instance HasField "tabCloseButtonMinWidthUnselected" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabCloseButtonMinWidthUnselected}
instance HasField "tabBarBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabBarBorderSize}
instance HasField "tabBarOverlineSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TabBarOverlineSize}
instance HasField "tableAngledHeadersAngle" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TableAngledHeadersAngle}
instance HasField "tableAngledHeadersTextAlign" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, TableAngledHeadersTextAlign}
instance HasField "treeLinesFlags" (Ptr ImGuiStyle) (Ptr ImGuiTreeNodeFlags) where
getField = #{ptr ImGuiStyle, TreeLinesFlags}
instance HasField "treeLinesSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TreeLinesSize}
instance HasField "treeLinesRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, TreeLinesRounding}
instance HasField "menuItemRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, MenuItemRounding}
instance HasField "selectableRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, SelectableRounding}
instance HasField "dragDropTargetRounding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, DragDropTargetRounding}
instance HasField "dragDropTargetBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, DragDropTargetBorderSize}
instance HasField "dragDropTargetPadding" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, DragDropTargetPadding}
instance HasField "colorMarkerSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, ColorMarkerSize}
instance HasField "colorButtonPosition" (Ptr ImGuiStyle) (Ptr ImGuiDir) where
getField = #{ptr ImGuiStyle, ColorButtonPosition}
instance HasField "buttonTextAlign" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, ButtonTextAlign}
instance HasField "selectableTextAlign" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, SelectableTextAlign}
instance HasField "inputTextCursorSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, InputTextCursorSize}
instance HasField "separatorSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, SeparatorSize}
instance HasField "separatorTextBorderSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, SeparatorTextBorderSize}
instance HasField "separatorTextAlign" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, SeparatorTextAlign}
instance HasField "separatorTextPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, SeparatorTextPadding}
instance HasField "displayWindowPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, DisplayWindowPadding}
instance HasField "displaySafeAreaPadding" (Ptr ImGuiStyle) (Ptr ImVec2) where
getField = #{ptr ImGuiStyle, DisplaySafeAreaPadding}
instance HasField "dockingNodeHasCloseButton" (Ptr ImGuiStyle) (Ptr CBool) where
getField = #{ptr ImGuiStyle, DockingNodeHasCloseButton}
instance HasField "dockingSeparatorSize" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, DockingSeparatorSize}
instance HasField "mouseCursorScale" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, MouseCursorScale}
instance HasField "antiAliasedLines" (Ptr ImGuiStyle) (Ptr CBool) where
getField = #{ptr ImGuiStyle, AntiAliasedLines}
instance HasField "antiAliasedLineEnds" (Ptr ImGuiStyle) (Ptr CBool) where
getField = #{ptr ImGuiStyle, AntiAliasedLineEnds}
instance HasField "antiAliasedFill" (Ptr ImGuiStyle) (Ptr CBool) where
getField = #{ptr ImGuiStyle, AntiAliasedFill}
instance HasField "curveTessellationMaxError" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, CurveTessellationMaxError}
instance HasField "circleTessellationMaxError" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, CircleTessellationMaxError}
instance HasField "colors" (Ptr ImGuiStyle) (Ptr ImVec4) where
getField = #{ptr ImGuiStyle, Colors}
colorsLength :: Int
colorsLength = #{const ImGuiCol_COUNT}
instance HasField "hoverStationaryDelay" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, HoverStationaryDelay}
instance HasField "hoverDelayShort" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, HoverDelayShort}
instance HasField "hoverDelayNormal" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, HoverDelayNormal}
instance HasField "hoverFlagsForTooltipMouse" (Ptr ImGuiStyle) (Ptr ImGuiHoveredFlags) where
getField = #{ptr ImGuiStyle, HoverFlagsForTooltipMouse}
instance HasField "hoverFlagsForTooltipNav" (Ptr ImGuiStyle) (Ptr ImGuiHoveredFlags) where
getField = #{ptr ImGuiStyle, HoverFlagsForTooltipNav}
instance HasField "_MainScale" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, _MainScale}
instance HasField "_NextFrameFontSizeBase" (Ptr ImGuiStyle) (Ptr Float) where
getField = #{ptr ImGuiStyle, _NextFrameFontSizeBase}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiStyle_Init_wrap"
init
:: Ptr ImGuiStyle
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiStyle_Destroy_wrap"
destroy
:: Ptr ImGuiStyle
-> IO ()
withDefault :: (Ptr ImGuiStyle -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void ScaleAllSizes(ImGuiStyle* self, float scale_factor)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiStyle_ScaleAllSizes"
scaleAllSizes
:: (Ptr ImGuiStyle) -- ^ self
-> Float -- ^ scale_factor
-> IO ()