dear-imgui-1.2.2: Haskell bindings for Dear ImGui.
Safe HaskellNone
LanguageHaskell2010

DearImGui.Raw

Description

Main ImGui module, exporting the functions to create a GUI.

Synopsis

Context Creation and Access

newtype Context Source #

Wraps ImGuiContext*.

Constructors

Context (Ptr ImGuiContext) 

createContext :: MonadIO m => m Context Source #

Wraps ImGui::CreateContext().

destroyContext :: MonadIO m => Context -> m () Source #

Wraps ImGui::DestroyContext().

getCurrentContext :: MonadIO m => m Context Source #

Wraps ImGui::GetCurrentContext().

setCurrentContext :: MonadIO m => Context -> m () Source #

Wraps ImGui::SetCurrentContext().

Main

newFrame :: MonadIO m => m () Source #

Start a new Dear ImGui frame, you can submit any command from this point until render/endFrame.

Wraps ImGui::NewFrame().

endFrame :: MonadIO m => m () Source #

Ends the Dear ImGui frame. automatically called by render. If you don't need to render data (skipping rendering) you may call endFrame without render... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call newFrame at all!

render :: MonadIO m => m () Source #

Ends the Dear ImGui frame, finalize the draw data. You can then get call getDrawData.

newtype DrawData Source #

Wraps ImDrawData*.

Constructors

DrawData (Ptr ()) 

getDrawData :: MonadIO m => m DrawData Source #

Valid after render and until the next call to newFrame. This is what you have to render.

checkVersion :: MonadIO m => m () Source #

Wraps IMGUI_CHECKVERSION()

Demo, Debug, Information

showDemoWindow :: MonadIO m => m () Source #

Create demo window. Demonstrate most ImGui features. Call this to learn about the library! Try to make it always available in your application!

showMetricsWindow :: MonadIO m => m () Source #

Create Metrics/Debugger window. Display Dear ImGui internals: windows, draw commands, various internal state, etc.

showAboutWindow :: MonadIO m => m () Source #

Create About window. display Dear ImGui version, credits and build/system information.

showUserGuide :: MonadIO m => m () Source #

Add basic help/info block (not a window): how to manipulate ImGui as a end-user (mouse/keyboard controls).

getVersion :: MonadIO m => m CString Source #

Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp).

Styles

styleColorsDark :: MonadIO m => m () Source #

New, recommended style (default).

Wraps ImGui::StyleColorsDark().

styleColorsLight :: MonadIO m => m () Source #

Best used with borders and a custom, thicker font.

Wraps ImGui::StyleColorsLight().

styleColorsClassic :: MonadIO m => m () Source #

Classic ImGui style.

Wraps ImGui::StyleColorsClasic().

Windows

begin :: MonadIO m => CString -> Maybe (Ptr CBool) -> Maybe ImGuiWindowFlags -> m Bool Source #

Push window to the stack and start appending to it.

Returns False to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window. Always call a matching end for each begin call, regardless of its return value!

Wraps ImGui::Begin().

Passing non-null Ptr CBool shows a window-closing widget in the upper-right corner of the window, wich clicking will set the boolean to false when clicked.

end :: MonadIO m => m () Source #

Pop window from the stack.

Wraps ImGui::End().

Utilities

getWindowDrawList :: MonadIO m => m DrawList Source #

Get draw list associated to the current window.

getWindowPos :: MonadIO m => m ImVec2 Source #

Get current window position in screen space.

Useful if you want to do your own drawing via the DrawList API.

Manipulation

setNextWindowPos :: MonadIO m => Ptr ImVec2 -> ImGuiCond -> Maybe (Ptr ImVec2) -> m () Source #

Set next window position. Call before begin Use pivot=(0.5,0.5) to center on given point, etc.

Wraps ImGui::SetNextWindowPos()

setNextWindowSize :: MonadIO m => Ptr ImVec2 -> ImGuiCond -> m () Source #

Set next window size. Call before begin

Wraps ImGui::SetNextWindowSize()

setNextWindowFullscreen :: MonadIO m => m () Source #

Set next window size and position to match current display size.

Call before begin.

Wraps ImGui::SetNextWindowPos(), ImGui::SetNextWindowSize()

setNextWindowContentSize :: MonadIO m => Ptr ImVec2 -> m () Source #

Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. call before begin

Wraps ImGui::SetNextWindowContentSize()

setNextWindowSizeConstraints :: MonadIO m => Ptr ImVec2 -> Ptr ImVec2 -> m () Source #

Set next window size limits. use -1,-1 on either X/Y axis to preserve the current size. Sizes will be rounded down.

Wraps ImGui::SetNextWindowContentSize()

setNextWindowCollapsed :: MonadIO m => CBool -> ImGuiCond -> m () Source #

Set next window collapsed state. call before begin

Wraps ImGui::SetNextWindowCollapsed()

setNextWindowBgAlpha :: MonadIO m => CFloat -> m () Source #

Set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg, ChildBg, PopupBg. you may also use ImGuiWindowFlags_NoBackground.

Wraps ImGui::SetNextWindowBgAlpha()

Child Windows

beginChild :: MonadIO m => CString -> Ptr ImVec2 -> CBool -> ImGuiWindowFlags -> m Bool Source #

Begin a self-contained independent scrolling/clipping regions within a host window.

Child windows can embed their own child.

For each independent axis of size: * ==0.0f: use remaining host window size * >0.0f: fixed size * <0.0f: use remaining window size minus abs(size)

Each axis can use a different mode, e.g. ImVec2 0 400.

BeginChild() returns False to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.

Always call a matching endChild for each beginChild call, regardless of its return value.

Wraps ImGui::BeginChild().

beginChildContext :: MonadIO m => CString -> m Bool Source #

Switch context to another child window by its ID

Wraps ImGui::BeginChild().

endChild :: MonadIO m => m () Source #

Wraps ImGui::EndChild().

Parameter stacks

pushStyleColor :: MonadIO m => ImGuiCol -> Ptr ImVec4 -> m () Source #

Modify a style color by pushing to the shared stack. always use this if you modify the style after newFrame

Wraps ImGui::PushStyleColor()

popStyleColor :: MonadIO m => CInt -> m () Source #

Remove style color modifications from the shared stack

Wraps ImGui::PopStyleColor()

pushStyleVar :: MonadIO m => ImGuiStyleVar -> Ptr ImVec2 -> m () Source #

Modify a style variable by pushing to the shared stack. always use this if you modify the style after newFrame

Wraps ImGui::PushStyleVar()

popStyleVar :: MonadIO m => CInt -> m () Source #

Remove style variable modifications from the shared stack

Wraps ImGui::PopStyleVar()

Cursor/Layout

separator :: MonadIO m => m () Source #

Separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.

Wraps ImGui::Separator()

sameLine :: MonadIO m => m () Source #

Call between widgets or groups to layout them horizontally.

Wraps ImGui::SameLine.

newLine :: MonadIO m => m () Source #

undo a sameLine or force a new line when in an horizontal-layout context.

Wraps ImGui::NewLine()

spacing :: MonadIO m => m () Source #

Add vertical spacing.

Wraps ImGui::Spacing()

dummy :: MonadIO m => Ptr ImVec2 -> m () Source #

Add a dummy item of given size. unlike invisibleButton, dummy won't take the mouse click or be navigable into.

Wraps ImGui::Dummy()

indent :: MonadIO m => CFloat -> m () Source #

Move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0

Wraps ImGui::Indent()

unindent :: MonadIO m => CFloat -> m () Source #

Move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0

Wraps ImGui::Unindent()

setNextItemWidth :: MonadIO m => CFloat -> m () Source #

Affect large frame+labels widgets only.

Wraps ImGui::SetNextItemWidth()

beginGroup :: MonadIO m => m () Source #

lock horizontal starting position

Wraps ImGui::BeginGroup()

endGroup :: MonadIO m => m () Source #

unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use isItemHovered or layout primitives such as sameLine on whole group, etc.)

Wraps ImGui::EndGroup()

setCursorPos :: MonadIO m => Ptr ImVec2 -> m () Source #

Set cursor position in window-local coordinates

Wraps ImGui::SetCursorPos()

getCursorScreenPos :: MonadIO m => m ImVec2 Source #

Cursor position in absolute coordinates.

Useful to work with DrawList API.

Generally top-left == GetMainViewport()->Pos == (0,0) in single viewport mode, and bottom-right == GetMainViewport()->Pos+Size == io.DisplaySize in single-viewport mode.

alignTextToFramePadding :: MonadIO m => m () Source #

Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item)

Wraps ImGui::AlignTextToFramePadding()

Widgets

Text

textUnformatted :: MonadIO m => CString -> Maybe CString -> m () Source #

Raw text without formatting.

Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if text_end is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.

Wraps ImGui::TextUnformatted().

textColored :: MonadIO m => Ptr ImVec4 -> CString -> m () Source #

Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.

XXX: Unlike the original, does not do string formatting.

Wraps ImGui::TextColored().

textDisabled :: MonadIO m => CString -> m () Source #

Shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();.

XXX: Unlike the original, does not do string formatting.

Wraps ImGui::TextWrapped().

textWrapped :: MonadIO m => CString -> m () Source #

Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();.

Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, you may need to set a size using setNextWindowSize.

XXX: Unlike the original, does not do string formatting.

Wraps ImGui::TextWrapped().

labelText :: MonadIO m => CString -> CString -> m () Source #

Label+text combo aligned to other label+value widgets.

XXX: Unlike the original, does not do string formatting.

Wraps ImGui::LabelText().

bulletText :: MonadIO m => CString -> m () Source #

Text with a little bullet aligned to the typical tree node.

XXX: Unlike the original, does not do string formatting.

Wraps ImGui::BulletText().

Main

button :: MonadIO m => CString -> m Bool Source #

A button. Returns True when clicked.

Wraps ImGui::Button().

smallButton :: MonadIO m => CString -> m Bool Source #

Button with FramePadding=(0,0) to easily embed within text.

Wraps ImGui::SmallButton().

invisibleButton :: MonadIO m => CString -> Ptr ImVec2 -> ImGuiButtonFlags -> m Bool Source #

Flexible button behavior without the visuals.

Frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc).

Wraps ImGui::InvisibleButton().

arrowButton :: MonadIO m => CString -> ImGuiDir -> m Bool Source #

Square button with an arrow shape.

Wraps ImGui::ArrowButton().

image :: MonadIO m => Ptr () -> Ptr ImVec2 -> Ptr ImVec2 -> Ptr ImVec2 -> Ptr ImVec4 -> Ptr ImVec4 -> m () Source #

Image Area to draw a texture.

For OpenGL: The userTextureIDPtr points to the texture memory (eg. 0x0000000000000001)

See examplessdlImage.hs for the whole process.

Wraps ImGui::Image().

imageButton :: MonadIO m => Ptr () -> Ptr ImVec2 -> Ptr ImVec2 -> Ptr ImVec2 -> CInt -> Ptr ImVec4 -> Ptr ImVec4 -> m Bool Source #

Clickable Image Area.

Negative frame_padding uses default frame padding settings. Set to 0 for no padding.

Wraps ImGui::ImageButton().

checkbox :: MonadIO m => CString -> Ptr CBool -> m Bool Source #

Wraps ImGui::Checkbox().

progressBar :: MonadIO m => CFloat -> CString -> m () Source #

Wraps ImGui::ProgressBar().

bullet :: MonadIO m => m () Source #

Draw a small circle + keep the cursor on the same line. Advance cursor x position by getTreeNodeToLabelSpacing, same distance that treeNode uses.

Combo Box

beginCombo :: MonadIO m => CString -> CString -> m Bool Source #

Begin creating a combo box with a given label and preview value.

Returns True if the combo box is open. In this state, you should populate the contents of the combo box - for example, by calling selectable.

Wraps ImGui::BeginCombo().

endCombo :: MonadIO m => m () Source #

Only call endCombo if beginCombo returns True!

Wraps ImGui::EndCombo().

combo :: MonadIO m => CString -> Ptr CInt -> Ptr CString -> CInt -> m Bool Source #

Wraps ImGui::Combo().

Drag Sliders

dragFloat :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::DragFloat()

dragFloat2 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::DragFloat2()

dragFloat3 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::DragFloat3()

dragFloat4 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::DragFloat4()

dragFloatRange2 :: MonadIO m => CString -> Ptr CFloat -> Ptr CFloat -> CFloat -> CFloat -> CFloat -> CString -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragFloatRange2()

dragInt :: MonadIO m => CString -> Ptr CInt -> CFloat -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragInt()

dragInt2 :: MonadIO m => CString -> Ptr CInt -> CFloat -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragInt2()

dragInt3 :: MonadIO m => CString -> Ptr CInt -> CFloat -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragInt3()

dragInt4 :: MonadIO m => CString -> Ptr CInt -> CFloat -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragInt4()

dragIntRange2 :: MonadIO m => CString -> Ptr CInt -> Ptr CInt -> CFloat -> CInt -> CInt -> CString -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragFloatRange2()

dragScalar :: MonadIO m => CString -> ImGuiDataType -> Ptr a -> CFloat -> Ptr a -> Ptr a -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragScalar()

dragScalarN :: MonadIO m => CString -> ImGuiDataType -> Ptr a -> CInt -> CFloat -> Ptr a -> Ptr a -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::DragScalarN()

Slider

sliderFloat :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::SliderFloat()

sliderFloat2 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::SliderFloat2()

sliderFloat3 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::SliderFloat3()

sliderFloat4 :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> m Bool Source #

Wraps ImGui::SliderFloat4()

sliderAngle :: MonadIO m => CString -> Ptr CFloat -> CFloat -> CFloat -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderAngle()

sliderInt :: MonadIO m => CString -> Ptr CInt -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderInt()

sliderInt2 :: MonadIO m => CString -> Ptr CInt -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderInt2()

sliderInt3 :: MonadIO m => CString -> Ptr CInt -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderInt3()

sliderInt4 :: MonadIO m => CString -> Ptr CInt -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderInt4()

sliderScalar :: MonadIO m => CString -> ImGuiDataType -> Ptr a -> Ptr a -> Ptr a -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderScalar()

sliderScalarN :: MonadIO m => CString -> ImGuiDataType -> Ptr a -> CInt -> Ptr a -> Ptr a -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::SliderScalarN()

vSliderFloat :: MonadIO m => CString -> Ptr ImVec2 -> Ptr CFloat -> CFloat -> CFloat -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::VSliderFloat()

vSliderInt :: MonadIO m => CString -> Ptr ImVec2 -> Ptr CInt -> CInt -> CInt -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::VSliderFloat()

vSliderScalar :: MonadIO m => CString -> Ptr ImVec2 -> ImGuiDataType -> Ptr a -> Ptr a -> Ptr a -> CString -> ImGuiSliderFlags -> m Bool Source #

Wraps ImGui::VSliderScalar()

Text Input

inputText :: MonadIO m => CString -> CStringLen -> ImGuiInputTextFlags -> m Bool Source #

Wraps ImGui::InputText().

inputTextMultiline :: MonadIO m => CString -> CStringLen -> Ptr ImVec2 -> ImGuiInputTextFlags -> m Bool Source #

Wraps ImGui::InputTextMultiline().

inputTextWithHint :: MonadIO m => CString -> CString -> CStringLen -> ImGuiInputTextFlags -> m Bool Source #

Wraps ImGui::InputTextWithHint().

Color Editor/Picker

colorPicker3 :: MonadIO m => CString -> Ptr CFloat -> m Bool Source #

Wraps ImGui::ColorPicker3().

colorButton :: MonadIO m => CString -> Ptr ImVec4 -> m Bool Source #

Display a color square/button, hover for details, return true when pressed.

Wraps ImGui::ColorButton().

Trees

treeNode :: MonadIO m => CString -> m Bool Source #

Wraps ImGui::TreeNode().

treePush :: MonadIO m => CString -> m () Source #

Wraps ImGui::TreePush().

treePop :: MonadIO m => m () Source #

Wraps ImGui::TreePop().

Selectables

selectable :: MonadIO m => CString -> m Bool Source #

Wraps ImGui::Selectable().

List Boxes

listBox :: MonadIO m => CString -> Ptr CInt -> Ptr CString -> CInt -> m Bool Source #

Wraps ImGui::ListBox().

Data Plotting

plotHistogram :: MonadIO m => CString -> Ptr CFloat -> CInt -> m () Source #

Wraps ImGui::PlotHistogram().

Menus

beginMenuBar :: MonadIO m => m Bool Source #

Append to menu-bar of current window (requires ImGuiWindowFlagsMenuBar flag set on parent window).

Wraps ImGui::BeginMenuBar().

endMenuBar :: MonadIO m => m () Source #

Only call endMenuBar if beginMenuBar returns true!

Wraps ImGui::EndMenuBar().

beginMainMenuBar :: MonadIO m => m Bool Source #

Create and append to a full screen menu-bar.

Wraps ImGui::BeginMainMenuBar().

endMainMenuBar :: MonadIO m => m () Source #

Only call endMainMenuBar if beginMainMenuBar returns true!

Wraps ImGui::EndMainMenuBar().

beginMenu :: MonadIO m => CString -> m Bool Source #

Create a sub-menu entry.

Wraps ImGui::BeginMenu().

endMenu :: MonadIO m => m () Source #

Only call endMenu if beginMenu returns true!

Wraps ImGui::EndMenu().

menuItem :: MonadIO m => CString -> m Bool Source #

Return true when activated. Shortcuts are displayed for convenience but not processed by ImGui at the moment

Wraps ImGui::MenuItem()

Tabs, tab bar

beginTabBar :: MonadIO m => CString -> ImGuiTabBarFlags -> m Bool Source #

Create a TabBar and start appending to it.

Wraps ImGui::BeginTabBar.

endTabBar :: MonadIO m => m () Source #

Finish appending elements to a tab bar. Only call if beginTabBar returns True.

Wraps ImGui::EndTabBar.

beginTabItem :: MonadIO m => CString -> Ptr CBool -> ImGuiTabBarFlags -> m Bool Source #

Create a new tab. Returns True if the tab is selected.

Wraps ImGui::BeginTabItem.

endTabItem :: MonadIO m => m () Source #

Finish appending elements to a tab. Only call if beginTabItem returns True.

Wraps ImGui::EndTabItem.

tabItemButton :: MonadIO m => CString -> ImGuiTabItemFlags -> m Bool Source #

Create a tab that behaves like a button. Returns True when clicked. Cannot be selected in the tab bar.

Wraps ImGui.TabItemButton.

setTabItemClosed :: MonadIO m => CString -> m () Source #

Notify the tab bar (or the docking system) that a tab/window is about to close. Useful to reduce visual flicker on reorderable tab bars.

For tab-bar: call after beginTabBar and before tab submission. Otherwise, call with a window name.

Tooltips

beginTooltip :: MonadIO m => m () Source #

Begin/append a tooltip window to create full-featured tooltip (with any kind of items).

Wraps ImGui::BeginTooltip()

endTooltip :: MonadIO m => m () Source #

Wraps ImGui::EndTooltip()

Popups/Modals

beginPopup :: MonadIO m => CString -> m Bool Source #

Returns True if the popup is open, and you can start outputting to it.

Wraps ImGui::BeginPopup()

beginPopupModal :: MonadIO m => CString -> m Bool Source #

Returns True if the modal is open, and you can start outputting to it.

Wraps ImGui::BeginPopupModal()

endPopup :: MonadIO m => m () Source #

Only call endPopup if beginPopup or beginPopupModal returns True!

Wraps ImGui::BeginPopupModal()

openPopup :: MonadIO m => CString -> m () Source #

Call to mark popup as open (don't call every frame!).

Wraps ImGui::OpenPopup()

closeCurrentPopup :: MonadIO m => m () Source #

Manually close the popup we have begin-ed into.

Wraps ImGui::ClosePopup()

ID stack/scopes

pushIDInt :: MonadIO m => CInt -> m () Source #

Push integer into the ID stack (will hash int).

Wraps ImGui::PushId

pushIDPtr :: MonadIO m => Ptr a -> m () Source #

Push pointer into the ID stack (will hash pointer).

Wraps ImGui::PushId

pushIDStr :: MonadIO m => CString -> m () Source #

Push string into the ID stack (will hash string).

Wraps ImGui::PushId

pushIDStrLen :: MonadIO m => CStringLen -> m () Source #

Push string into the ID stack (will hash string).

Wraps ImGui::PushId

popID :: MonadIO m => m () Source #

Item/Widgets Utilities

isItemHovered :: MonadIO m => m Bool Source #

Is the last item hovered? (and usable, aka not blocked by a popup, etc.).

Wraps ImGui::IsItemHovered()

Fonts in default font atlas

newtype Font Source #

Wraps ImFont*.

Constructors

Font (Ptr ImFont) 

addFontFromMemoryTTF :: MonadIO m => CStringLen -> CFloat -> m Font Source #

Transfer a buffer with TTF data to font atlas builder.

Utilities

Miscellaneous

getBackgroundDrawList :: MonadIO m => m DrawList Source #

This draw list will be the first rendering one.

Useful to quickly draw shapes/text behind dear imgui contents.

imCol32 :: CUChar -> CUChar -> CUChar -> CUChar -> ImU32 Source #

Generate 32-bit encoded colors using DearImgui macros.

Follows IMGUI_USE_BGRA_PACKED_COLOR define to put bytes in appropriate positions.

Types

class KnownNat (Count a) => FiniteEnum a where Source #

Minimal complete definition

Nothing

Associated Types

type Count a :: Nat Source #

Methods

count :: Natural Source #

Instances

Instances details
FiniteEnum ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiMouseCursor :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiMouseButton :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiStyleVar :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiCol :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiNavInput :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiKey :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiDir :: Nat Source #

Methods

count :: Natural Source #

FiniteEnum ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiDataType :: Nat Source #

Methods

count :: Natural Source #

newtype ImGuiWindowFlags Source #

Constructors

ImGuiWindowFlags CInt 

Instances

Instances details
Eq ImGuiWindowFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiWindowFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiWindowFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiWindowFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiWindowFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiInputTextFlags Source #

Instances

Instances details
Eq ImGuiInputTextFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiInputTextFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiInputTextFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiInputTextFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiInputTextFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTreeNodeFlags Source #

Constructors

ImGuiTreeNodeFlags CInt 

Instances

Instances details
Eq ImGuiTreeNodeFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTreeNodeFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTreeNodeFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTreeNodeFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTreeNodeFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiPopupFlags Source #

Constructors

ImGuiPopupFlags CInt 

Instances

Instances details
Eq ImGuiPopupFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiPopupFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiPopupFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiPopupFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiPopupFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiSelectableFlags Source #

Instances

Instances details
Eq ImGuiSelectableFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiSelectableFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiSelectableFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiSelectableFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiSelectableFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiComboFlags Source #

Constructors

ImGuiComboFlags CInt 

Instances

Instances details
Eq ImGuiComboFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiComboFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiComboFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiComboFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiComboFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTabBarFlags Source #

Constructors

ImGuiTabBarFlags CInt 

Instances

Instances details
Eq ImGuiTabBarFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTabBarFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTabBarFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTabBarFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTabBarFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTabItemFlags Source #

Constructors

ImGuiTabItemFlags CInt 

Instances

Instances details
Eq ImGuiTabItemFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTabItemFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTabItemFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTabItemFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTabItemFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTableFlags Source #

Constructors

ImGuiTableFlags CInt 

Instances

Instances details
Eq ImGuiTableFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTableFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTableFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTableFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTableFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTableColumnFlags Source #

Instances

Instances details
Eq ImGuiTableColumnFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTableColumnFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTableColumnFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTableColumnFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTableColumnFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTableRowFlags Source #

Constructors

ImGuiTableRowFlags CInt 

Instances

Instances details
Eq ImGuiTableRowFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTableRowFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTableRowFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTableRowFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiTableRowFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiTableBgTarget Source #

Constructors

ImGuiTableBgTarget CInt 

Instances

Instances details
Eq ImGuiTableBgTarget Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiTableBgTarget Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiTableBgTarget Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiTableBgTarget Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiFocusedFlags Source #

Constructors

ImGuiFocusedFlags CInt 

Instances

Instances details
Eq ImGuiFocusedFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiFocusedFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiFocusedFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiFocusedFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiFocusedFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiHoveredFlags Source #

Constructors

ImGuiHoveredFlags CInt 

Instances

Instances details
Eq ImGuiHoveredFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiHoveredFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiHoveredFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiHoveredFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiHoveredFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiDragDropFlags Source #

Constructors

ImGuiDragDropFlags CInt 

Instances

Instances details
Eq ImGuiDragDropFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiDragDropFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiDragDropFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiDragDropFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiDragDropFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiDataType Source #

Constructors

ImGuiDataType CInt 

Instances

Instances details
Eq ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiDataType :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiDataType Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiDir Source #

Constructors

ImGuiDir CInt 

Instances

Instances details
Eq ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiDir :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiDir Source # 
Instance details

Defined in DearImGui.Enums

type Count ImGuiDir = 4

newtype ImGuiSortDirection Source #

Constructors

ImGuiSortDirection CInt 

Instances

Instances details
Eq ImGuiSortDirection Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiSortDirection Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiSortDirection Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiSortDirection Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiKey Source #

Constructors

ImGuiKey CInt 

Instances

Instances details
Eq ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiKey :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiKey Source # 
Instance details

Defined in DearImGui.Enums

type Count ImGuiKey = 22

newtype ImGuiKeyModFlags Source #

Constructors

ImGuiKeyModFlags CInt 

Instances

Instances details
Eq ImGuiKeyModFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiKeyModFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiKeyModFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiKeyModFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiKeyModFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiNavInput Source #

Constructors

ImGuiNavInput CInt 

Instances

Instances details
Eq ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiNavInput :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiNavInput Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiConfigFlags Source #

Constructors

ImGuiConfigFlags CInt 

Instances

Instances details
Eq ImGuiConfigFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiConfigFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiConfigFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiConfigFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiConfigFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiBackendFlags Source #

Constructors

ImGuiBackendFlags CInt 

Instances

Instances details
Eq ImGuiBackendFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiBackendFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiBackendFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiBackendFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiBackendFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiCol Source #

Constructors

ImGuiCol CInt 

Instances

Instances details
Eq ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiCol :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiCol Source # 
Instance details

Defined in DearImGui.Enums

type Count ImGuiCol = 53

newtype ImGuiStyleVar Source #

Constructors

ImGuiStyleVar CInt 

Instances

Instances details
Eq ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiStyleVar :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiStyleVar Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiButtonFlags Source #

Constructors

ImGuiButtonFlags CInt 

Instances

Instances details
Eq ImGuiButtonFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiButtonFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiButtonFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiButtonFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiButtonFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiColorEditFlags Source #

Instances

Instances details
Eq ImGuiColorEditFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiColorEditFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiColorEditFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiColorEditFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiColorEditFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiSliderFlags Source #

Constructors

ImGuiSliderFlags CInt 

Instances

Instances details
Eq ImGuiSliderFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiSliderFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiSliderFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiSliderFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImGuiSliderFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiMouseButton Source #

Constructors

ImGuiMouseButton CInt 

Instances

Instances details
Eq ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiMouseButton :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiMouseButton Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiMouseCursor Source #

Constructors

ImGuiMouseCursor CInt 

Instances

Instances details
Eq ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

Ord ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

Show ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

Storable ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

FiniteEnum ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

Associated Types

type Count ImGuiMouseCursor :: Nat Source #

Methods

count :: Natural Source #

type Count ImGuiMouseCursor Source # 
Instance details

Defined in DearImGui.Enums

newtype ImGuiCond Source #

Constructors

ImGuiCond CInt 

newtype ImDrawFlags Source #

Constructors

ImDrawFlags CInt 

Instances

Instances details
Eq ImDrawFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImDrawFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImDrawFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImDrawFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImDrawFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImDrawListFlags Source #

Constructors

ImDrawListFlags CInt 

Instances

Instances details
Eq ImDrawListFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImDrawListFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImDrawListFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImDrawListFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImDrawListFlags Source # 
Instance details

Defined in DearImGui.Enums

newtype ImFontAtlasFlags Source #

Constructors

ImFontAtlasFlags CInt 

Instances

Instances details
Eq ImFontAtlasFlags Source # 
Instance details

Defined in DearImGui.Enums

Ord ImFontAtlasFlags Source # 
Instance details

Defined in DearImGui.Enums

Show ImFontAtlasFlags Source # 
Instance details

Defined in DearImGui.Enums

Storable ImFontAtlasFlags Source # 
Instance details

Defined in DearImGui.Enums

Bits ImFontAtlasFlags Source # 
Instance details

Defined in DearImGui.Enums

data ImVec2 Source #

Constructors

ImVec2 

Fields

Instances

Instances details
Show ImVec2 Source # 
Instance details

Defined in DearImGui.Structs

Storable ImVec2 Source # 
Instance details

Defined in DearImGui.Structs

data ImVec3 Source #

Constructors

ImVec3 

Fields

Instances

Instances details
Show ImVec3 Source # 
Instance details

Defined in DearImGui.Structs

Storable ImVec3 Source # 
Instance details

Defined in DearImGui.Structs

data ImVec4 Source #

Constructors

ImVec4 

Fields

Instances

Instances details
Show ImVec4 Source # 
Instance details

Defined in DearImGui.Structs

Storable ImVec4 Source # 
Instance details

Defined in DearImGui.Structs

data ImGuiContext Source #

DearImGui context handle.

data ImFont Source #

Individual font handle.

data ImDrawList Source #

Opaque DrawList handle.

type ImU32 = Word32 Source #

32-bit unsigned integer (often used to store packed colors).