All API functions for the Helium library are listed below.
Utility functions
Provides functions for operating on iup objects, but don't create iup objects themselves.
Function
Description
map_dialog
Similar to iup's :map(), but recursively activates all map_cb() functions in every child iup object. Many helium objects require this to render correctly.
trigger_on_show
overrides the default show_cb behavior of a dialog to also call a specific child's show_cb function.
index_container
Iterates over an iup tree and returns the lua table equivilant. Intended for debugging use only.
iup_prepend
Intended to behave like iup.Append(), but the child is put before instead of after other children
iup_insert
Intended to behave like iup.Append(), but the child can be inserted at an arbitrary location
is_iup
Behaves similarly to iup.IsValid(), but only checks if the object is an iup element.
get_mouse_abs_pos
Retrieves the pixel coordinates of the mouse position. Used internally to place subdialogs.
scale_size
Using the known scaling value of Font.Default, applies a consistant scale to the provided value
scale_2x
A preset function wrapper around scale_size to provide an iup size attribute's expected format.
iter_nums_from_string
A function to split numbers from a non-numerically delimited string, returned as a table. When used with an iup size attribute, returns the values {x, y}
Async functions
These are asynchronous variants of the utility functions
Function
Description
async map_dialog
asynchronous method to map a dialog and execute all embedded map_cb. triggers callback on complete
async index_container
asynchronous method to index an iup container, getting a table representation on callback
async prepend
asynchronous method to add an element to the top of an iup struc. triggers callback on complete
async insert
asynchronous method to insert an element in an iup struc. triggers callback on complete
Primitive objects
These provide preset singular iup objects for building basic interface objects with more easily.
Function
Description
clearframe
A frame preset with no image and no border; should be visually invisible.
solidframe
A frame preset with a thin border.
borderframe
Description
highlite_panel
An image used internally for 'highlite on mouse hover' behavior.
progressbar
A set of basic preset values for an iup.progressbar
hslider
A horizontal scroll bar object
vslider
A vertical scroll bar object
cyclebutton
A button that changes its contents every press, cycling through indexed options.
Constructed objects
Constructs are functions that create multiple iup objects contained within a frame parent.
Function
Description
hexpandbox
A frame-style object that operates like a horizontal 'drawer'; when open, the contents are seen. when closed, the contents are hidden.
vexpandbox
A frame-style object that operates like a vertical 'drawer'; when open, the contents are seen. when closed, the contents are hidden.
vscroll
A frame-style object that allows its contents to be scrolled vertically. This does NOT rely on a 'control' list or iup.matrix
hscroll
A frame-style object that allows its contents to be scrolled horizontally. This does NOT rely on an iup.matrix
ascroll
A frame style object that adaptively shows or hides vertical and horizontal scroll bars as needed
nscroll
A frame style object that exposes scrolling mechanics as functions but provides no scrolling elements natively and is instead controlled by the caller to set the scrolling target.
hbuttonlist
A frame containing a horizontal list of buttons, intended for use as a tab row
vbuttonlist
A frame containing a vertical list of buttons, intended for use as a tab row
coverbutton
This hides an invisible button over the child element, providing on-click functionality to non-clickable objects and frames
select_text
A preset of coverbutton over a label element
link_text
A preset of select_text that mimics a hyperlink to open a webpage
ticker
Two buttons and a field for inputting and editing a numeric entry
slide_toggle
A "toggle" object that mimics the popular mobile switch style
multi_button
A three-button setup; two to navigate left and right through options, and a central button to activate the displayed item
radio_collect
A collection of linked toggle options that may be duplicate of existing iup.radio behavior, may be deprecated
bg_frame
Acts like a background element handler
Preset dialogs
Presets are full dialogs worth of items, with completely custom behaviors and purpose-built uses.
Function
Description
subdialog
Creates a modal-style dialog that can be positioned on the screen (defaults to center).
context_menu
Creates a preset of the subdialog that mimics the behavior of a single-layer context menu.
alert
Creates a very simple subdialog at center screen to show the user a single message.
reader
Creates a large subdialog for displaying a large amount of text in a multiline element.
Drag-and-drop functionality
Helium provides these to create easy drag and drop functionality.
Function
Description
drag_item
Creates a transparent field above the target object. this has a drag behavior associated with it. Intended to be paired with a drag_target object.
drag_target
Creates a transparent field above the target objects. this has a drop behavior associated with it. Intended to be paired with a drag_item object.
Color and paint submodule
Helium provides these to create easy methods to select both RGB and indexed ship colors.
Function
Description
paint_panel
Creates a single color thumbnail for ship paint colors.
color_panel
Creates a single color thumbnail for RGB color selection.
paint_select
A full palette list for user selection. Each vertical column lists a general color, with indexes from light to dark.
color_select
Contains RGB color finding controls.
color_picker
A custom dialog that allows the user to select from a palette list, recent selections, or use a color finder.
Preset widgets
End-result items used for single-function purpose that don't fit in other categories are kept in the widgets table.
Function
Description
clock
A preset clock widget with timezone selection and 12/24 hour display.
stopwatch
A preset stopwatch widget. action returns either _start or _stop, .
numpad
A preset number pad entry widget.
marquee_text
A preset label display that scrolls its contents. Uses multiple labels to give the semblance of continuous scrolling
marquee_obj
A preset display that scrolls its contents. Must be provided with a generator to duplicate displayed contents.