packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiBackendFlags
  ( ImGuiBackendFlags
  , pattern HasGamepad
  , pattern HasMouseCursors
  , pattern HasMouseHoveredViewport
  , pattern HasParentViewport
  , pattern HasSetMousePos
  , pattern None
  , pattern PlatformHasViewports
  , pattern RendererHasTextures
  , pattern RendererHasViewports
  , pattern RendererHasVtxOffset
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Backend capabilities flags stored in io.BackendFlags. Set by imgui_impl_xxx or custom backend.
type ImGuiBackendFlags = CInt

-- enums

pattern None :: ImGuiBackendFlags
pattern None = #{const ImGuiBackendFlags_None}

-- | Backend Platform supports gamepad and currently has one connected.
pattern HasGamepad :: ImGuiBackendFlags
pattern HasGamepad = #{const ImGuiBackendFlags_HasGamepad}

-- | Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape.
pattern HasMouseCursors :: ImGuiBackendFlags
pattern HasMouseCursors = #{const ImGuiBackendFlags_HasMouseCursors}

-- | Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if io.ConfigNavMoveSetMousePos is set).
pattern HasSetMousePos :: ImGuiBackendFlags
pattern HasSetMousePos = #{const ImGuiBackendFlags_HasSetMousePos}

-- | Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices.
pattern RendererHasVtxOffset :: ImGuiBackendFlags
pattern RendererHasVtxOffset = #{const ImGuiBackendFlags_RendererHasVtxOffset}

-- | Backend Renderer supports ImTextureData requests to create/update/destroy textures. This enables incremental texture updates and texture reloads. See https://github.com/ocornut/imgui/blob/master/docs/BACKENDS.md for instructions on how to upgrade your custom backend.
pattern RendererHasTextures :: ImGuiBackendFlags
pattern RendererHasTextures = #{const ImGuiBackendFlags_RendererHasTextures}

-- | [BETA] Multi-Viewports
-- Backend Renderer supports multiple viewports.
pattern RendererHasViewports :: ImGuiBackendFlags
pattern RendererHasViewports = #{const ImGuiBackendFlags_RendererHasViewports}

-- | Backend Platform supports multiple viewports.
pattern PlatformHasViewports :: ImGuiBackendFlags
pattern PlatformHasViewports = #{const ImGuiBackendFlags_PlatformHasViewports}

-- | Backend Platform supports calling io.AddMouseViewportEvent() with the viewport under the mouse. IF POSSIBLE, ignore viewports with the ImGuiViewportFlags_NoInputs flag (Win32 backend, GLFW 3.30+ backend can do this, SDL backend cannot). If this cannot be done, Dear ImGui needs to use a flawed heuristic to find the viewport under.
pattern HasMouseHoveredViewport :: ImGuiBackendFlags
pattern HasMouseHoveredViewport = #{const ImGuiBackendFlags_HasMouseHoveredViewport}

-- | Backend Platform supports honoring viewport->ParentViewport/ParentViewportId value, by applying the corresponding parent/child relationship at the Platform level. Child windows always appear in front of their parent window.
pattern HasParentViewport :: ImGuiBackendFlags
pattern HasParentViewport = #{const ImGuiBackendFlags_HasParentViewport}