Skip to content

ImGuiStyle#

You may modify the ImGui.get_style main instance during initialization and before ImGui.new_frame.
During the frame, use ImGui::PushStyleVar(ImGuiStyleVar_XXXX)/ImGui.pop_style_var to alter the main style values,
and ImGui::PushStyleColor(ImGuiCol_XXX)/ImGui.pop_style_color for colors.

struct ImGui::ImGuiStyle
inherits Struct #

Included modules

ImGui::ClassType
#alpha : Float32#
View source

Global alpha applies to everything in Dear ImGui.

#disabled_alpha : Float32#
View source

Additional alpha multiplier applied by ImGui.begin_disabled. Multiply over current value of Alpha.

#window_padding : ImVec2#
View source

Padding within a window.

#window_rounding : Float32#
View source

Radius of window corners rounding. Set to 0.0f to have rectangular windows. Large values tend to lead to variety of artifacts and are not recommended.

#window_border_size : Float32#
View source

Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

#window_min_size : ImVec2#
View source

Minimum window size. This is a global setting. If you want to constraint individual windows, use ImGui.set_next_window_size_constraints.

#window_title_align : ImVec2#
View source

Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.

#window_menu_button_position : ImGuiDir#
View source

Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.

#child_rounding : Float32#
View source

Radius of child window corners rounding. Set to 0.0f to have rectangular windows.

#child_border_size : Float32#
View source

Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

#popup_rounding : Float32#
View source

Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)

#popup_border_size : Float32#
View source

Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

#frame_padding : ImVec2#
View source

Padding within a framed rectangle (used by most widgets).

#frame_rounding : Float32#
View source

Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).

#frame_border_size : Float32#
View source

Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

#item_spacing : ImVec2#
View source

Horizontal and vertical spacing between widgets/lines.

#item_inner_spacing : ImVec2#
View source

Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).

#cell_padding : ImVec2#
View source

Padding within a table cell

#touch_extra_padding : ImVec2#
View source

Expand reactive bounding box for touch-based system where touch position is not accurate enough. Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!

#indent_spacing : Float32#
View source

Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).

#columns_min_spacing : Float32#
View source

Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).

#scrollbar_size : Float32#
View source

Width of the vertical scrollbar, Height of the horizontal scrollbar.

#scrollbar_rounding : Float32#
View source

Radius of grab corners for scrollbar.

#grab_min_size : Float32#
View source

Minimum width/height of a grab box for slider/scrollbar.

#grab_rounding : Float32#
View source

Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.

#log_slider_deadzone : Float32#
View source

The size in pixels of the dead-zone around zero on logarithmic sliders that cross zero.

#tab_rounding : Float32#
View source

Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.

#tab_border_size : Float32#
View source

Thickness of border around tabs.

#tab_min_width_for_close_button : Float32#
View source

Minimum width for close button to appears on an unselected tab when hovered. Set to 0.0f to always show when hovering, set to FLT_MAX to never show close button unless selected.

#color_button_position : ImGuiDir#
View source

Side of the color button in the ImGui.color_edit4 widget (left/right). Defaults to ImGuiDir_Right.

#button_text_align : ImVec2#
View source

Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).

#selectable_text_align : ImVec2#
View source

Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line.

#display_window_padding : ImVec2#
View source

Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.

#display_safe_area_padding : ImVec2#
View source

If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!

#mouse_cursor_scale : Float32#
View source

Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.

#anti_aliased_lines : Bool#
View source

Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImGui::ImDrawList).

#anti_aliased_lines_use_tex : Bool#
View source

Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImGui::ImDrawList).

#anti_aliased_fill : Bool#
View source

Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImGui::ImDrawList).

#curve_tessellation_tol : Float32#
View source

Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.

#circle_tessellation_max_error : Float32#
View source

Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.

#colors : Slice(ImVec4)#
View source