< GeeXLab Reference Guide />

> Back to Reference Guide Index


gh_imgui Library

Description

gh_imgui is the module that manages the ImGui library and allows to draw widgets. Available in GeeXLab 0.17+.


Number of functions: 84

  1. gh_imgui.button (Lua - Python)
  2. gh_imgui.button_arrow (Lua - Python)
  3. gh_imgui.begin_child (Lua - Python)
  4. gh_imgui.end_child (Lua - Python)
  5. gh_imgui.calc_text_size (Lua - Python)
  6. gh_imgui.checkbox (Lua - Python)
  7. gh_imgui.collapsing_header (Lua - Python)
  8. gh_imgui.color_edit_rgba (Lua - Python)
  9. gh_imgui.color_edit_rgba_v2 (Lua - Python)
  10. gh_imgui.color_picker_rgba (Lua - Python)
  11. gh_imgui.color_picker_rgba_v2 (Lua - Python)
  12. gh_imgui.columns (Lua - Python)
  13. gh_imgui.column_get_width (Lua - Python)
  14. gh_imgui.column_set_width (Lua - Python)
  15. gh_imgui.column_get_offset (Lua - Python)
  16. gh_imgui.column_set_offset (Lua - Python)
  17. gh_imgui.column_next (Lua - Python)
  18. gh_imgui.combo_box_create (Lua - Python)
  19. gh_imgui.combo_box_add_item (Lua - Python)
  20. gh_imgui.combo_box_draw (Lua - Python)
  21. gh_imgui.list_box_draw (Lua - Python)
  22. gh_imgui.frame_begin (Lua - Python)
  23. gh_imgui.frame_begin_v2 (Lua - Python)
  24. gh_imgui.frame_end (Lua - Python)
  25. gh_imgui.get_content_region_available_width (Lua - Python)
  26. gh_imgui.get_font_size (Lua - Python)
  27. gh_imgui.get_version (Lua - Python)
  28. gh_imgui.get_window_pos_size (Lua - Python)
  29. gh_imgui.get_window_size (Lua - Python)
  30. gh_imgui.gizmo_begin_frame (Lua - Python)
  31. gh_imgui.gizmo_set_rect (Lua - Python)
  32. gh_imgui.gizmo_manipulate (Lua - Python)
  33. gh_imgui.gizmo_decompose_matrix_to_components (Lua - Python)
  34. gh_imgui.gizmo_enable (Lua - Python)
  35. gh_imgui.gizmo_is_over (Lua - Python)
  36. gh_imgui.gizmo_is_using (Lua - Python)
  37. gh_imgui.group_begin (Lua - Python)
  38. gh_imgui.group_end (Lua - Python)
  39. gh_imgui.image (Lua - Python)
  40. gh_imgui.init (Lua - Python)
  41. gh_imgui.is_item_clicked (Lua - Python)
  42. gh_imgui.is_any_item_hovered (Lua - Python)
  43. gh_imgui.is_item_hovered (Lua - Python)
  44. gh_imgui.is_window_hovered (Lua - Python)
  45. gh_imgui.is_any_window_hovered (Lua - Python)
  46. gh_imgui.list_clipping_begin (Lua - Python)
  47. gh_imgui.list_clipping_end (Lua - Python)
  48. gh_imgui.show_metrics_window (Lua - Python)
  49. gh_imgui.menu_begin_main_bar (Lua - Python)
  50. gh_imgui.menu_end_main_bar (Lua - Python)
  51. gh_imgui.menu_begin_bar (Lua - Python)
  52. gh_imgui.menu_end_bar (Lua - Python)
  53. gh_imgui.menu_begin (Lua - Python)
  54. gh_imgui.menu_end (Lua - Python)
  55. gh_imgui.menu_item (Lua - Python)
  56. gh_imgui.progress_bar (Lua - Python)
  57. gh_imgui.pop_item_width (Lua - Python)
  58. gh_imgui.push_item_width (Lua - Python)
  59. gh_imgui.radio_button (Lua - Python)
  60. gh_imgui.set_color (Lua - Python)
  61. gh_imgui.get_color (Lua - Python)
  62. gh_imgui.set_style_colors (Lua - Python)
  63. gh_imgui.set_tooltip (Lua - Python)
  64. gh_imgui.show_test_window (Lua - Python)
  65. gh_imgui.set_cur_font_display_offset (Lua - Python)
  66. gh_imgui.get_cur_font_display_offset (Lua - Python)
  67. gh_imgui.selectable (Lua - Python)
  68. gh_imgui.set_frame_border_size (Lua - Python)
  69. gh_imgui.set_frame_rounding (Lua - Python)
  70. gh_imgui.set_next_window_content_size (Lua - Python)
  71. gh_imgui.set_window_border_size (Lua - Python)
  72. gh_imgui.set_window_rounding (Lua - Python)
  73. gh_imgui.slider_1f (Lua - Python)
  74. gh_imgui.slider_1i (Lua - Python)
  75. gh_imgui.slider_4f (Lua - Python)
  76. gh_imgui.terminate (Lua - Python)
  77. gh_imgui.text (Lua - Python)
  78. gh_imgui.text_rgba (Lua - Python)
  79. gh_imgui.text_wrapped (Lua - Python)
  80. gh_imgui.vslider_1f (Lua - Python)
  81. gh_imgui.vslider_1i (Lua - Python)
  82. gh_imgui.window_begin (Lua - Python)
  83. gh_imgui.window_begin_v2 (Lua - Python)
  84. gh_imgui.window_end (Lua - Python)



gh_imgui.button

Description

Create a button.

Languages

Lua - Python

Parameters

  • label [STRING]: Name of the button.
  • size_x, size_y [INTEGER]: width and height of the button.

    Return Values

  • pressed [INTEGER]: 1 if pressed, 0 if not pressed.

    Code sample

    pressed = gh_imgui.button("Fire", 200, 20)
                


    gh_imgui.button_arrow

    Description

    Create a arrow shaped button.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: Name of the button.
  • direction [INTEGER]: arrow direction: 0 (left), 1 (right), 2(up) and 3(down).

    Return Values

  • pressed [INTEGER]: 1 if pressed, 0 if not pressed.

    Code sample

    pressed = gh_imgui.button_arrow("Fire", 1)
                


    gh_imgui.begin_child

    Description

    Begins a scrolling region.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: Name of the button.
  • w, h [REAL]: size of the region.
  • border [INTEGER]: border (1) or no border (0).
  • flags [INTEGER]: see window flags (ImGuiWindowFlags_xxxx) in imgui.lua.

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.begin_child(label, w, h, border, flags)
                


    gh_imgui.end_child

    Description

    End a scrolling region.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.end_child()
                


    gh_imgui.calc_text_size

    Description

    Returns the size (width and height) of a string.

    Languages

    Lua - Python

    Parameters

  • text [STRING]: text.

    Return Values

  • x, y [REAL]: size of the text.

    Code sample

    x, y = gh_imgui.calc_text_size("Hello")
                


    gh_imgui.checkbox

    Description

    Create a checkbox.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: Name of the button.
  • initial_state [INTEGER]: initial state: 0 (unchecked) or 1 (checked).

    Return Values

  • checked [INTEGER]: 1 if checked, 0 if unchecked.

    Code sample

    checked = gh_imgui.checkbox("Wireframe", 0)
                


    gh_imgui.collapsing_header

    Description

    Creates an header that can be opened or closed.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: Name of the button.
  • flags [INTEGER]: see ImGuiTreeNodeFlags_xxx flags in imgui.lua (GeeXLab lua libs).

    Return Values

  • checked [INTEGER]: 1 if opened, 0 if closed.

    Code sample

    local flags = 0 -- default            
    if (gh_imgui.collapsing_header(label, flags) == 1) then
      ...
    end
                


    gh_imgui.color_edit_rgba

    Description

    Displays a 4D slider with color picker.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • r0, b0, g0, a0 [REAL]: initial 4D value

    Return Values

  • r, g, b, a [REAL]: RGBA color value

    Code sample

    r, g, b, a = gh_imgui.color_edit_rgba("coloredit01", r0, b0, g0, a0)
                


    gh_imgui.color_edit_rgba_v2

    Description

    Displays a 4D slider with color picker.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • r0, b0, g0, a0 [REAL]: initial 4D value
  • flags [INTEGER]: options

    Return Values

  • r, g, b, a [REAL]: RGBA color value

    Code sample

    ImGuiColorEditFlags_NoAlpha = 2 -- ColorEdit, ColorPicker, ColorButton: ignore Alpha component (read 3 components from the input pointer).
    ImGuiColorEditFlags_NoPicker = 4 -- ColorEdit: disable picker when clicking on colored square.
    ImGuiColorEditFlags_NoOptions = 8 -- ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
    ImGuiColorEditFlags_NoSmallPreview = 16-- ColorEdit, ColorPicker: disable colored square preview next to the inputs. (e.g. to show only the inputs)
    ImGuiColorEditFlags_NoInputs = 32 -- ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview colored square).
    ImGuiColorEditFlags_NoTooltip = 64 -- ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
    ImGuiColorEditFlags_NoLabel = 128 -- ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
    ImGuiColorEditFlags_NoSidePreview = 256 -- ColorPicker: disable bigger color preview on right side of the picker, use small colored square preview instead.
    -- User Options (right-click on widget to change some of them). You can set application defaults using SetColorEditOptions(). The idea is that you probably don't want to override them in most of your calls, let the user choose and/or call SetColorEditOptions() during startup.
    ImGuiColorEditFlags_AlphaBar = 512 -- ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
    ImGuiColorEditFlags_AlphaPreview = 1024 -- ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
    ImGuiColorEditFlags_AlphaPreviewHalf = 2048 -- ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
    ImGuiColorEditFlags_HDR = 4096 --  (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
    ImGuiColorEditFlags_RGB = 8192 -- [Inputs] ColorEdit: choose one among RGB/HSV/HEX. ColorPicker: choose any combination using RGB/HSV/HEX.
    ImGuiColorEditFlags_HSV = 16384 -- [Inputs]     
    ImGuiColorEditFlags_HEX = 32768 -- [Inputs] 
    ImGuiColorEditFlags_Uint8 = 65536 -- [DataType]   // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255. 
    ImGuiColorEditFlags_Float = 131072 --  [DataType]   // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.
    ImGuiColorEditFlags_PickerHueBar = 262144 -- [PickerMode] // ColorPicker: bar for Hue, rectangle for Sat/Value.
    ImGuiColorEditFlags_PickerHueWheel = 524288 -- [PickerMode] // ColorPicker: wheel for Hue, triangle for Sat/Value.
                
    flags = ImGuiColorEditFlags_NoInputs            
    r, g, b, a = gh_imgui.color_edit_rgba_v2("coloredit01", r0, b0, g0, a0, flags)
                


    gh_imgui.color_picker_rgba

    Description

    Displays a color picker.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the color picker
  • r0, b0, g0, a0 [REAL]: initial 4D value

    Return Values

  • r, g, b, a [REAL]: RGBA color value

    Code sample

    r, g, b, a = gh_imgui.color_picker_rgba("coloredit01", r0, b0, g0, a0)
                


    gh_imgui.color_picker_rgba_v2

    Description

    Displays a color picker.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the color picker
  • r0, b0, g0, a0 [REAL]: initial 4D value
  • flags [INTEGER]: options

    Return Values

  • r, g, b, a [REAL]: RGBA color value

    Code sample

    ImGuiColorEditFlags_NoAlpha = 2 -- ColorEdit, ColorPicker, ColorButton: ignore Alpha component (read 3 components from the input pointer).
    ImGuiColorEditFlags_NoPicker = 4 -- ColorEdit: disable picker when clicking on colored square.
    ImGuiColorEditFlags_NoOptions = 8 -- ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
    ImGuiColorEditFlags_NoSmallPreview = 16-- ColorEdit, ColorPicker: disable colored square preview next to the inputs. (e.g. to show only the inputs)
    ImGuiColorEditFlags_NoInputs = 32 -- ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview colored square).
    ImGuiColorEditFlags_NoTooltip = 64 -- ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
    ImGuiColorEditFlags_NoLabel = 128 -- ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
    ImGuiColorEditFlags_NoSidePreview = 256 -- ColorPicker: disable bigger color preview on right side of the picker, use small colored square preview instead.
    -- User Options (right-click on widget to change some of them). You can set application defaults using SetColorEditOptions(). The idea is that you probably don't want to override them in most of your calls, let the user choose and/or call SetColorEditOptions() during startup.
    ImGuiColorEditFlags_AlphaBar = 512 -- ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
    ImGuiColorEditFlags_AlphaPreview = 1024 -- ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
    ImGuiColorEditFlags_AlphaPreviewHalf = 2048 -- ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
    ImGuiColorEditFlags_HDR = 4096 --  (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
    ImGuiColorEditFlags_RGB = 8192 -- [Inputs] ColorEdit: choose one among RGB/HSV/HEX. ColorPicker: choose any combination using RGB/HSV/HEX.
    ImGuiColorEditFlags_HSV = 16384 -- [Inputs]     
    ImGuiColorEditFlags_HEX = 32768 -- [Inputs] 
    ImGuiColorEditFlags_Uint8 = 65536 -- [DataType]   // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255. 
    ImGuiColorEditFlags_Float = 131072 --  [DataType]   // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.
    ImGuiColorEditFlags_PickerHueBar = 262144 -- [PickerMode] // ColorPicker: bar for Hue, rectangle for Sat/Value.
    ImGuiColorEditFlags_PickerHueWheel = 524288 -- [PickerMode] // ColorPicker: wheel for Hue, triangle for Sat/Value.
                
    flags = ImGuiColorEditFlags_NoInputs            
    r, g, b, a = gh_imgui.color_picker_rgba_v2("coloredit01", r0, b0, g0, a0, flags)
                


    gh_imgui.columns

    Description

    Starts/ends a column layout.

    Languages

    Lua - Python

    Parameters

  • count [INTEGER]: number of columns
  • border [INTEGER]: display column border ot not

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.columns(2, 1)
    
    -- display widgets
    ...
    
    -- next column
    gh_imgui.column_next()
    -- display widgets
    ...
    
    
    -- reset to default layout (one column)
    gh_imgui.columns(1, 0)
                


    gh_imgui.column_get_width

    Description

    Gets the width of a particular column.

    Languages

    Lua - Python

    Parameters

  • index [INTEGER]: column index

    Return Values

  • width [REAL]: width

    Code sample

    width = gh_imgui.column_get_width(index)
                


    gh_imgui.column_set_width

    Description

    Sets the width of a particular column.

    Languages

    Lua - Python

    Parameters

  • index [INTEGER]: column index
  • width [REAL]: width

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.column_set_width(index, width)
                


    gh_imgui.column_get_offset

    Description

    Gets the offset of a particular column.

    Languages

    Lua - Python

    Parameters

  • index [INTEGER]: column index

    Return Values

  • offset [REAL]: offset

    Code sample

    offset = gh_imgui.column_get_offset(index)
                


    gh_imgui.column_set_offset

    Description

    Sets the offset of a particular column.

    Languages

    Lua - Python

    Parameters

  • index [INTEGER]: column index
  • offset [REAL]: offset

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.column_set_offset(index, width)
                


    gh_imgui.column_next

    Description

    Starts a new column.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.columns(2, 1)
    
    -- display widgets
    ...
    
    -- next column
    gh_imgui.column_next()
    -- display widgets
    ...
    
    
    -- reset to default layout (one column)
    gh_imgui.columns(1, 0)
                


    gh_imgui.combo_box_create

    Description

    Creates a combo box. Must be called once (usually in an INIT script).

    Languages

    Lua - Python

    Parameters

  • label [STRING]: combo box label

    Return Values

  • id [INTEGER]: identifier of the combo box

    Code sample

    cbid = gh_imgui.combo_box_create(label)
                


    gh_imgui.combo_box_add_item

    Description

    Adds an item to a combo box.

    Languages

    Lua - Python

    Parameters

  • cbid [INTEGER]: identifier of the combo box
  • item_label [STRING]: label of the item

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.combo_box_add_item(cbid, "Item1")
                


    gh_imgui.combo_box_draw

    Description

    Draws the combo box.

    Languages

    Lua - Python

    Parameters

  • cbid [INTEGER]: identifier of the combo box
  • initial_selected_item [INTEGER]: index of the initial selected item

    Return Values

  • selected_item [INTEGER]: index of the current selected item

    Code sample

    selected_item = gh_imgui.combo_box_draw(cbid, 0)
                


    gh_imgui.list_box_draw

    Description

    Draws a combo box as a list box.

    Languages

    Lua - Python

    Parameters

  • cbid [INTEGER]: identifier of the combo box
  • initial_selected_item [INTEGER]: index of the initial selected item

    Return Values

  • selected_item [INTEGER]: index of the current selected item

    Code sample

    selected_item = gh_imgui.list_box_draw(cbid, 0)
                


    gh_imgui.frame_begin

    Description

    Begins ImGui rendering. This is the first function to call in a FRAME script before any other gh_imgui functions.

    Languages

    Lua - Python

    Parameters

  • width, height [INTEGER]: size of the main 3D window (gh_window.getsize(0))
  • mouse_x, mouse_y [INTEGER]: position of the mouse (gh_input.mouse_get_position())
  • mouse_left_button, mouse_right_button [INTEGER]: state of mouse left and right buttons (gh_input.mouse_get_button_state())
  • dt [REAL]: time step

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.frame_begin(winW, winH, mouse_x, mouse_y, mouse_left_button, mouse_right_button, dt)
                


    gh_imgui.frame_begin_v2

    Description

    Begins ImGui rendering. This is the first function to call in a FRAME script before any other gh_imgui functions.

    Languages

    Lua - Python

    Parameters

  • width, height [INTEGER]: size of the main 3D window (gh_window.getsize(0))
  • mouse_x, mouse_y [INTEGER]: position of the mouse (gh_input.mouse_get_position())
  • mouse_left_button, mouse_right_button [INTEGER]: state of mouse left and right buttons (gh_input.mouse_get_button_state())
  • mouse_wheel [INTEGER]: mouse wheel delta
  • dt [REAL]: time step

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.frame_begin_v2(winW, winH, mouse_x, mouse_y, mouse_left_button, mouse_right_button, mouse_wheel, dt)
                


    gh_imgui.frame_end

    Description

    Ends ImGui rendering. This is the last function to call in a FRAME script after other gh_imgui functions.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.frame_end()
                


    gh_imgui.get_content_region_available_width

    Description

    Returns the available width inside a window.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • width [REAL]: available width

    Code sample

    width = gh_imgui.get_content_region_available_width()
                


    gh_imgui.get_font_size

    Description

    Returns the size (height) of the font.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • size [REAL]: size

    Code sample

    size = gh_imgui.get_font_size()
                


    gh_imgui.get_version

    Description

    Returns the version of ImGui.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • version [STRING]: ImGui version

    Code sample

    version_str = gh_imgui.get_version()
                


    gh_imgui.get_window_pos_size

    Description

    Returns the position and size of the current window.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • x, y, width, height [REAL]: position and size

    Code sample

    x, y, width, height = gh_imgui.get_window_pos_size()
                


    gh_imgui.get_window_size

    Description

    Returns the size of the current window.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • width, height [REAL]: size

    Code sample

    width, height = gh_imgui.get_window_size()
                


    gh_imgui.gizmo_begin_frame

    Description

    Begins the gizmo rendering. Must be called right after frame_begin().

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.frame_begin(...)
    gh_imgui.gizmo_begin_frame()
    ...
                


    gh_imgui.gizmo_set_rect

    Description

    Defines the gizmo viewport.

    Languages

    Lua - Python

    Parameters

  • x, y width, height [INTEGER]: viewport size.

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.gizmo_set_rect(0, 0, winW, winH)
                


    gh_imgui.gizmo_manipulate

    Description

    Applies the gizmo transformation to an object.

    Languages

    Lua - Python

    Parameters

  • camera [INTEGER]: camera identifier
  • object [INTEGER]: object identifier
  • operation [STRING]: operation type: 'translate', 'rotate' or 'scale'
  • mode [STRING]: transformation mode: 'local' or 'world'

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.gizmo_manipulate(camera, object, "rotate", "local")
                


    gh_imgui.gizmo_decompose_matrix_to_components

    Description

    Gets the transformation matrix.

    Languages

    Lua - Python

    Parameters

  • object [INTEGER]: object identifier

    Return Values

  • tx,ty,tz, rx,ry,rz, sx,sy,sz [REAL]: translation vector, rotation vector and scale vector

    Code sample

    tx,ty,tz,  rx,ry,rz,  sx,sy,sz = gh_imgui.gizmo_decompose_matrix_to_components(object)
                


    gh_imgui.gizmo_enable

    Description

    Enables or disables the gizmo.

    Languages

    Lua - Python

    Parameters

  • state [INTEGER]: 0 or 1.

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.gizmo_enable(1)
                


    gh_imgui.gizmo_is_over

    Description

    Is the mouse over the gizmo?

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • state [INTEGER]: 1 (yes) or 0 (no).

    Code sample

    is_over = gh_imgui.gizmo_is_over()
                


    gh_imgui.gizmo_is_using

    Description

    Is the mouse over the gizmo or is the gizmo in moving state?

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • state [INTEGER]: 1 (yes) or 0 (no).

    Code sample

    is_using = gh_imgui.gizmo_is_using()
                


    gh_imgui.group_begin

    Description

    Starts a new group. All widgets in a group are seen as a single widget.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.group_begin()
    
    -- display widgets
    ...
    
    gh_imgui.group_end()
                


    gh_imgui.group_end

    Description

    Ends a group.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.group_begin()
    
    -- display widgets
    ...
    
    gh_imgui.group_end()
                


    gh_imgui.image

    Description

    Display a texture. Currently, this fontion works in OpenGL only.

    Languages

    Lua - Python

    Parameters

  • texture_id [INTEGER]: texture identifier as returned by gh_texture.create_xxxx() functions.
  • width, height [REAL]: image size.

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.image(tex0, 200, 200)
                


    gh_imgui.init

    Description

    Initialize the ImGui library. Must be called once in the INIT script.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • error [INTEGER]: 1 if no error or 0 if error

    Code sample

    ret = gh_imgui.init()
                


    gh_imgui.is_item_clicked

    Description

    Check if the current item has been clicked.

    Languages

    Lua - Python

    Parameters

  • mouse_button [INTEGER]: left button (0) or right button (1)

    Return Values

  • clicked [INTEGER]: 1 if clicked or 0 if not clicked

    Code sample

    clicked = gh_imgui.is_item_clicked(0)
                


    gh_imgui.is_any_item_hovered

    Description

    Check if any item has been hovered by mouse.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • hovered [INTEGER]: 1 if hovered or 0 if not hovered

    Code sample

    hovered = gh_imgui.is_any_item_hovered()
                


    gh_imgui.is_item_hovered

    Description

    Check if the current item has been hovered by mouse.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • hovered [INTEGER]: 1 if hovered or 0 if not hovered

    Code sample

    hovered = gh_imgui.is_item_hovered()
                


    gh_imgui.is_window_hovered

    Description

    Check if the current window has been hovered by mouse.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • hovered [INTEGER]: 1 if hovered or 0 if not hovered

    Code sample

    hovered = gh_imgui.is_window_hovered()
                


    gh_imgui.is_any_window_hovered

    Description

    Check if any window hasn been hovered by mouse.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • hovered [INTEGER]: 1 if hovered or 0 if not hovered

    Code sample

    hovered = gh_imgui.is_any_window_hovered()
                


    gh_imgui.list_clipping_begin

    Description

    Starts the list clipping. Allows to speed up rendering of very big lists.

    Languages

    Lua - Python

    Parameters

  • num_items [INTEGER]: number of items

    Return Values

  • start_item, end_item [INTEGER]: range coreved by the list clipper

    Code sample

    start_item, end_item = gh_imgui.list_clipping_begin(num_items)
                


    gh_imgui.list_clipping_end

    Description

    Ends the list clipping.

    Languages

    Lua - Python

    Parameters

  • num_items [INTEGER]: number of items
  • start_item, end_item [INTEGER]: range coreved by the list clipper

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.list_clipping_end(num_items, start_item, end_item)
                


    gh_imgui.show_metrics_window

    Description

    Display an ImGui built-in window that shows statistics about all windows. Call this function between frame_begin() and frame_end().

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.show_metrics_window()
                


    gh_imgui.menu_begin_main_bar

    Description

    Begins the main menu bar (fullscreen menu bar).

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_begin_main_bar()
                


    gh_imgui.menu_end_main_bar

    Description

    Ends the main menu bar.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_end_main_bar()
                


    gh_imgui.menu_begin_bar

    Description

    Begins a window menu bar.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_begin_bar()
                


    gh_imgui.menu_end_bar

    Description

    Ends a window menu bar.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_end_bar()
                


    gh_imgui.menu_begin

    Description

    Begins a window menu.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: menu label
  • enabled [INTEGER]: the menu is enabled (1) or disabled (0)

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_begin("File", 1)
                


    gh_imgui.menu_end

    Description

    Ends a window menu.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.menu_end()
                


    gh_imgui.menu_item

    Description

    Adds an item to the current menu. Must be used between menu_begin() and menu_end().

    Languages

    Lua - Python

    Parameters

  • label [STRING]: menu label
  • shortcut [STRING]: menu shortcut (not implemented) - set this value to ''
  • selected [INTEGER]: the menu is selected (1) or not (0)
  • enabled [INTEGER]: the menu is enabled (1) or disabled (0)

    Return Values

    This function has no return value(s).

    Code sample

    enabled = 1
    gh_imgui.menu_item("Load a file", "", 0, enabled)
                


    gh_imgui.progress_bar

    Description

    Displays a progress bar.

    Languages

    Lua - Python

    Parameters

  • fraction [REAL]: progression of the bar: from 0.0 to 1.0
  • width, height [INTEGER]: size of the bar
  • overly [STRING]: text to display

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.progress_bar(0.45, width, height, overlay_str)
                


    gh_imgui.pop_item_width

    Description

    Restore the width that has been changed by push_item_width().

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    local width = gh_imgui.get_content_region_available_width()
    gh_imgui.push_item_width(width * 0.8)
    
    ...
    
    gh_imgui.pop_item_width()
                


    gh_imgui.push_item_width

    Description

    Sets the width of next items. This width is valid until a call to pop_item_width().

    Languages

    Lua - Python

    Parameters

  • width [REAL]: width in pixels of next items

    Return Values

    This function has no return value(s).

    Code sample

    local width = gh_imgui.get_content_region_available_width()
    gh_imgui.push_item_width(width * 0.8)
    
    ...
    
    gh_imgui.pop_item_width()
                


    gh_imgui.radio_button

    Description

    Display a radio button.

    Languages

    Lua - Python

    Parameters

  • name [STRING]: name
  • active [INTEGER]: active state (0 or 1)

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.radio_button("radio button 1", 0)
    gh_imgui.radio_button("radio button 2", 1)
    gh_imgui.radio_button("radio button 3", 0)
                


    gh_imgui.set_color

    Description

    Sets the color of the next widget.

    Languages

    Lua - Python

    Parameters

  • widget_type [INTEGER]: type of the widget (see values in the code sample)
  • r, g, b, a [REAL]: RGBA color of the widget

    Return Values

    This function has no return value(s).

    Code sample

    IMGUI_WINDOW_BG_COLOR = 1
    IMGUI_TITLE_BG_COLOR = 2
    IMGUI_PLOTLINES_COLOR = 3
    IMGUI_FRAME_BG_COLOR = 4
    IMGUI_TITLE_BG_ACTIVE_COLOR = 5
    IMGUI_TITLE_BG_COLLAPSED_COLOR = 6
    IMGUI_PLOTHISTOGRAM_COLOR = 7
    IMGUI_COMBO_BG_COLOR = 8
    IMGUI_BUTTON_COLOR = 9
    IMGUI_SEPARATOR_COLOR = 10
    IMGUI_RESIZE_GRIP_COLOR = 11
    IMGUI_PLOTLINE_HOVERED_COLOR = 12
    IMGUI_PLOTHISTOGRAM_HOVERED_COLOR = 13
    IMGUI_BUTTON_HOVERED_COLOR = 14
    IMGUI_SEPARATOR_HOVERED_COLOR = 15
    IMGUI_RESIZE_GRIP_HOVERED_COLOR = 16
    IMGUI_HEADER_COLOR = 17
    IMGUI_HEADER_HOVERED_COLOR = 18
    IMGUI_SLIDER_GRAB_COLOR = 19
    IMGUI_CHECK_MARK_COLOR = 20
    IMGUI_SCROLLBAR_BG_COLOR = 21
    IMGUI_SCROLLBAR_GRAB_COLOR = 22
    IMGUI_SCROLLBAR_GRAB_HOVERED_COLOR = 23
    IMGUI_TEXT_COLOR = 24
    IMGUI_POPUP_BG_COLOR = 25
    IMGUI_TEXT_DISABLED_COLOR = 26
    IMGUI_CHILD_BG_COLOR = 27
    IMGUI_BORDER_COLOR = 28
    IMGUI_BORDER_SHADOW_COLOR = 29
    IMGUI_FRAME_BG_HOVERED_COLOR = 30
    IMGUI_FRAME_BG_ACTIVE_COLOR = 31
    IMGUI_MENU_BAR_BG_COLOR = 32
    IMGUI_SCROLLBAR_GRAB_ACTIVE_COLOR = 33
    IMGUI_SLIDER_GRAB_ACTIVE_COLOR = 34
    IMGUI_BUTTON_ACTIVE_COLOR = 35
    IMGUI_HEADER_ACTIVE_COLOR = 36
    IMGUI_SEPARATOR_ACTIVE_COLOR = 37
    IMGUI_RESIZE_GRIP_ACTIVE_COLOR = 38
    IMGUI_CLOSE_BUTTON_COLOR = 39
    IMGUI_CLOSE_BUTTON_HOVERED_COLOR = 40 
    IMGUI_CLOSE_BUTTON_ACTIVE_COLOR = 41
    IMGUI_PLOTLINES_HOVERED_COLOR = 42
    IMGUI_TEXT_SELECTED_BG_COLOR = 43
    IMGUI_MODAL_WINDOW_DARKENING_COLOR = 44
    IMGUI_DRAG_DROP_TARGET_COLOR = 45
    
    widget_type = IMGUI_BUTTON_COLOR
    gh_imgui.set_color(widget_type, r, g, b, a)
                


    gh_imgui.get_color

    Description

    Gets the current color value.

    Languages

    Lua - Python

    Parameters

  • widget_type [INTEGER]: type of the widget (see values in the code sample)

    Return Values

    This function has no return value(s).

    Code sample

    widget_type = IMGUI_BUTTON_COLOR
    r, g, b, a = gh_imgui.get_color(widget_type)
                


    gh_imgui.set_style_colors

    Description

    Sets a built-in color style.

    Languages

    Lua - Python

    Parameters

  • style_name [STRING]: name of the style: classic, dark or light

    Return Values

    This function has no return value(s).

    Code sample

    style_name = "classic"
    --style_name = "dark"
    --style_name = "light"
    gh_imgui.set_style_colors(style_name)
                


    gh_imgui.set_tooltip

    Description

    Sets a tooltip.

    Languages

    Lua - Python

    Parameters

  • caption [STRING]: tooltip text

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_tooltip("This is a tooltip!")
                


    gh_imgui.show_test_window

    Description

    Shows ImGui test window.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.frame_begin(winW, winH, mouse_x, mouse_y, mouse_left_button, mouse_right_button)
    gh_imgui.show_test_window()
    gh_imgui.frame_end()
                


    gh_imgui.set_cur_font_display_offset

    Description

    Sets the x and y offset of the current font. Useful to adjust the vertical alignment of a text.

    Languages

    Lua - Python

    Parameters

  • x, y [REAL]: offsets

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_cur_font_display_offset(x, y)
                


    gh_imgui.get_cur_font_display_offset

    Description

    Gets the x and y offset of the current font.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

  • x, y [REAL]: offsets

    Code sample

    x, y = gh_imgui.get_cur_font_display_offset()
                


    gh_imgui.selectable

    Description

    Allows to select texts in list / widgets.

    Languages

    Lua - Python

    Parameters

  • text [STRING]: string

    Return Values

    This function has no return value(s).

    Code sample

    selected = 0            
    
    -- Possible flags
    ImGuiSelectableFlags_DontClosePopups = 1 -- // Clicking this don't close parent popup window
    ImGuiSelectableFlags_SpanAllColumns = 2 -- Selectable frame can span all columns (text will still fit in current column)
    ImGuiSelectableFlags_AllowDoubleClick = 4 --  Generate press events on double clicks too
    flags = ImGuiSelectableFlags_SpanAllColumns
    
    ret = gh_imgui.selectable(text, selected, flags)
                


    gh_imgui.set_frame_border_size

    Description

    Sets the size of the frame border.

    Languages

    Lua - Python

    Parameters

  • x [REAL]: size

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_frame_border_size(x)
                


    gh_imgui.set_frame_rounding

    Description

    Sets the frame corner rounding. A value of 0 means a squared corner.

    Languages

    Lua - Python

    Parameters

  • x [REAL]: size

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_frame_rounding(x)
                


    gh_imgui.set_next_window_content_size

    Description

    Sets the size of the window content.

    Languages

    Lua - Python

    Parameters

  • w, h [REAL]: size

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_next_window_content_size(w, h)
                


    gh_imgui.set_window_border_size

    Description

    Sets the size of the window border.

    Languages

    Lua - Python

    Parameters

  • x [REAL]: size

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_window_border_size(x)
                


    gh_imgui.set_window_rounding

    Description

    Sets the window corner rounding.

    Languages

    Lua - Python

    Parameters

  • x [REAL]: size

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.set_window_rounding(x)
                


    gh_imgui.slider_1f

    Description

    Displays a 1D slider.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • initial_value [REAL]: initial value
  • v_min, v_max [REAL]: min and max value of the slider
  • power [REAL]: use power!=1.0 for logarithmic sliders

    Return Values

  • value [REAL]: current value

    Code sample

    v = gh_imgui.slider_1f("slider01", initial_value, v_min, v_max, 1.0)
                


    gh_imgui.slider_1i

    Description

    Displays a 1D slider with integer values.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • initial_value [INTEGER]: initial value
  • v_min, v_max [INTEGER]: min and max value of the slider

    Return Values

  • value [INTEGER]: current value

    Code sample

    v = gh_imgui.slider_1i("slider01", initial_value, v_min, v_max)
                


    gh_imgui.slider_4f

    Description

    Displays a 4D slider.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • x0, y0, z0, w0 [REAL]: initial 4D value
  • v_min, v_max [REAL]: min and max value of the slider
  • power [REAL]: use power!=1.0 for logarithmic sliders

    Return Values

  • x, y, z, w [REAL]: current 4D value

    Code sample

    x, y, z, w = gh_imgui.slider_4f("slider02", x0, y0, z0, w0, v_min, v_max, 1.0)
                


    gh_imgui.terminate

    Description

    Terminates the ImGui library. Must be called once in the TERMINATE script.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.terminate()
                


    gh_imgui.text

    Description

    Displays a simple text.

    Languages

    Lua - Python

    Parameters

  • text [STRING]: text to display

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.text("GeeXLab is powerful!")
                


    gh_imgui.text_rgba

    Description

    Displays a colored text.

    Languages

    Lua - Python

    Parameters

  • text [STRING]: text to display
  • r, g, b, a [REAL]: color of the text

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.text_rgba("GeeXLab is powerful!", 1.0, 1.0, 0.0, 1.0)
                


    gh_imgui.text_wrapped

    Description

    Displays a wrapped text.

    Languages

    Lua - Python

    Parameters

  • text [STRING]: text to display

    Return Values

    This function has no return value(s).

    Code sample

    gh_imgui.text_wrapped("GeeXLab is powerful!")
                


    gh_imgui.vslider_1f

    Description

    Displays a 1D vertical slider.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • width, height [REAL]: size of the slider
  • initial_value [REAL]: initial value
  • v_min, v_max [REAL]: min and max value of the slider
  • power [REAL]: use power!=1.0 for logarithmic sliders

    Return Values

  • value [REAL]: current value

    Code sample

    v = gh_imgui.vslider_1f("vslider01", 20, 100, initial_value, v_min, v_max, 1.0)
                


    gh_imgui.vslider_1i

    Description

    Displays a 1D vertical slider with integer values.

    Languages

    Lua - Python

    Parameters

  • label [STRING]: name of the slider
  • width, height [REAL]: size of the slider
  • initial_value [INTEGER]: initial value
  • v_min, v_max [INTEGER]: min and max value of the slider

    Return Values

  • value [INTEGER]: current value

    Code sample

    v = gh_imgui.vslider_1i("slider01", 20, 100, initial_value, v_min, v_max)
                


    gh_imgui.window_begin

    Description

    Starts the rendering of a window.

    Languages

    Lua - Python

    Parameters

  • name [STRING]: name of the window
  • width, height [INTEGER]: size of the window
  • pos_x, pos_y [INTEGER]: position of the window
  • window_flags [INTEGER]: window options. Set to 0 for default options. Options can be OR-ed.
  • position_flags [INTEGER]: window position options. Set to 4 for default options.
  • size_flags [INTEGER]: window size options. Set to 4 for default options.

    Return Values

  • is_open [INTEGER]: returns 1 if the window is opened and 0 if the window is collapsed

    Code sample

    -- Window options
    local window_default = 0
    local window_no_resize = 2
    local window_no_move = 4
    local window_no_collapse = 32
    local window_show_border = 128
    local window_no_save_settings = 256
    
    -- Position or size options
    local pos_size_flag_always = 1 -- Always set the pos and/or size
    local pos_size_flag_once = 2 -- Set the pos and/or size once per runtime session (only the first call with succeed)
    local pos_size_flag_first_use_ever = 4  -- Set the pos and/or size if the window has no saved data (if doesn't exist in the .ini file)
    local pos_size_flag_appearing = 8  -- Set the pos and/or size if the window is appearing after being hidden/inactive (or the first time)
    
    
    -- window_flags = window_no_move | window_no_save_settings
    window_flags = 0              
    pos_flags = pos_size_flag_first_use_ever
    size_flags = pos_size_flag_first_use_ever
    is_open = gh_imgui.window_begin("GeeXLab ImGui demo", 300, 200, 20, 20, window_flags, pos_flags, size_flags)
    if (is_open == 1) then
      gh_imgui.text("GeeXLab is powerful!")
    end  
    gh_imgui.window_end()
                


    gh_imgui.window_begin_v2

    Description

    Starts the rendering of a window. This window has a close button.

    Languages

    Lua - Python

    Parameters

  • name [STRING]: name of the window
  • width, height [INTEGER]: size of the window
  • pos_x, pos_y [INTEGER]: position of the window
  • flags [INTEGER]: window options. Set to 0 for default options.
  • position_flags [INTEGER]: window position options. Set to 4 for default options.
  • size_flags [INTEGER]: window size options. Set to 4 for default options.
  • show_window [INTEGER]: initial open state of the window: 1: show - 0: hide

    Return Values

  • is_open, show_window [INTEGER]: is_open: 1 if the window is open, 0 if collapsed - show_window: 0 if the user has clicked on the close button.

    Code sample

    -- Window options
    local window_default = 0
    local window_no_resize = 2
    local window_no_move = 4
    local window_no_collapse = 32
    local window_show_border = 128
    local window_no_save_settings = 256
    
    -- Position or size options
    local pos_size_flag_always = 1 -- Always set the pos and/or size
    local pos_size_flag_once = 2 -- Set the pos and/or size once per runtime session (only the first call with succeed)
    local pos_size_flag_first_use_ever = 4  -- Set the pos and/or size if the window has no saved data (if doesn't exist in the .ini file)
    local pos_size_flag_appearing = 8  -- Set the pos and/or size if the window is appearing after being hidden/inactive (or the first time)
    
    
    -- window_flags = window_no_move | window_no_save_settings
    window_flags = 0              
    pos_flags = pos_size_flag_first_use_ever
    size_flags = pos_size_flag_first_use_ever
    
    if (show_window == 1) then
      window_flags = 0              
      show = show_window              
      is_open, show_window = gh_imgui.window_begin_v2("GeeXLab information", 300, 200, 20, 20, window_flags, pos_flags, size_flags, show)
      if (is_open == 1) then
        gh_imgui.text("GeeXLab is powerful!")
      end  
      gh_imgui.window_end()
    end
                


    gh_imgui.window_end

    Description

    Stops the rendering of a window.

    Languages

    Lua - Python

    Parameters

    This function has no input parameter(s).

    Return Values

    This function has no return value(s).

    Code sample

    window_flags = 0              
    gh_imgui.window_begin("GeeXLab information", 300, 200, 20, 20, window_flags)
    gh_imgui.text("GeeXLab is powerful!")
    gh_imgui.window_end()
                






    GeeXLab Rootard Guide | Downloads | Contact | Newsletter