gui-styles.md topic

flib includes several GUI styles for your use and convenience. For help and information on how to use these styles effectively, refer to the work-in-progress GUI style guide.

IMPORTANT: Modifying these styles in any way will modify them for all mods using them. Therefore, unless you are specifically creating a GUI skin mod, DO NOT MODIFY THESE STYLES! Instead, create your own new styles using these styles as parents, then modify those new styles as you wish.

Button styles

flibselectedframeactionbutton

A "selected" frame action button. Use when a frame action button can "toggle" on and off.

flibselectedtool_button

A "selected" tool button. Use when a tool button can "toggle" on and off.

flibtoolbuttonlightgreen

A light green tool button. Similar to the item_and_count_select_confirm style, but has margin and padding fixes to match other tool buttons.

flibtoolbuttondarkred

A dark red tool button, similar to the red shortcut button style.

Slot styles

flib includes a myriad of colored slot styles for use with sprite-buttons:

There are three categories of style, from top to bottom: slot, slot_button, and standalone_slot_button. From left to right, the colors are default, grey, red, orange, yellow, green, cyan, blue, purple, and pink.

The styles are formatted as flib_CATEGORY_COLOR. For example, if I want a pink standalone slot button (bottom-right on the preview image), I would use flib_standalone_slot_button_pink.

Each slot style also has a selected variant, which uses the hovered graphics as default. This is intended to let a user "select" a button, and to let the mod visually distinguish it from other buttons around it. To use these styles, replace flib_ with flib_selected_ in the style you wish to use (e.g. flib_selected_slot_button_green).

Empty widget styles

flibdialogfooterdraghandle

A drag handle suitable for placement in the footer of a dialog window.

flibdialogfooterdraghandlenoright

A dialog footer drag handle with the right margin removed. Suitable for dialog windows without a confirm button.

flibdialogtitlebardraghandle

A drag handle suitable for placement in the titlebar of a dialog window. Use inside of a flib_titlebar_flow flow.

flibhorizontalpusher

An invisible element that has horizontally_stretchable set, thereby "pushing" everything to the right.

flibtitlebardrag_handle

A drag handle suitable for placement in the titlebar of a standard window (a window with a close button, or any other frame action buttons in the titlebar). Use inside of a flib_titlebar_flow flow.

flibverticalpusher

An invisible element that has vertically_stretchable set, thereby "pushing" everything to the bottom.

Flow styles

flibindicatorflow

A flow designed for use with indicators (see below).

flibtitlebarflow

A flow for use in a custom window titlebar. Identical to a regular horizontal flow, except for an increased horizontal spacing.

Frame styles

flibshallowframeinshallow_frame

A shallow frame nested in another shallow frame. Use of this is generally recommended against, but can be useful in some specific situations.

Image styles

flib_indicator

A 16x16 image style. Designed for use with flib's indicator sprites (see sprites.md).

Scroll pane styles

flibnakedscroll_pane

A marginless scroll pane for use inside of content panes. When activated, it draws a shadow around its edges to give a more "inset" effect, to make it more obviously scrollable. The content is given an automatic 12px padding.

flibnakedscrollpaneunder_tabs

Identical to flib_naked_scroll_pane, but has an inset on the top side when activated. Designed for use inside of a tabbed_pane_with_no_side_padding when not using a toolbar.

flibnakedscrollpaneno_padding

Identical to flib_naked_scroll_pane, but has no padding for the content that's put inside. Useful for wrapping a table in a scroll pane, for example.

flibshallowscroll_pane

A scroll pane that is inset from a shallow frame, instead of an outer frame.

Tabbed pane styles

flibtabbedpanewithno_padding

A tabbed pane with no padding whatsoever on the content container. Useful for specific situations where you need to have full control of the content padding.

Textfield styles

flibwidthlesstextfield

A textfield with no width defined on it. The default textfield style has a width of 200, which can wreak havoc.

flibwidthlessinvalid_textfield

A widthless textfield that has a red background. Suitable for situations where the content of the textfield is invalid in some way.