ReaImGui Documentation

Generated for ReaImGui v0.8.7.6

Forum thread · Source repository


Table of Contents

  1. Button
    1. Cardinal directions
    2. Flags
  2. Color Edit
    1. Flags
      1. User Options
  3. Combo & List
    1. Combo Box (Dropdown)
    2. List Boxes
    3. Selectables
  4. Context
    1. Flags
    2. Options
  5. Drag & Drop
    1. Flags
      1. Payload
      2. Source
  6. Drag & Slider
    1. Drag Sliders
    2. Flags
    3. Regular Sliders
  7. Draw List
    1. Primitives
    2. Splitter
    3. Stateful Path
  8. Font
  9. Function
  10. Image
    1. Image Set
  11. Item & Status
    1. Dimensions
    2. Focus & Activation
    3. Hovered Flags
      1. IsItemHovered only
      2. IsWindowHovered only
    4. Item/Widgets Utilities and Query Functions
  12. Keyboard & Mouse
    1. Keyboard
      1. Named Keys
        1. Keyboard
        2. Modifiers
        3. Mouse Buttons
    2. Mouse
      1. Mouse Cursor
  13. Layout
    1. Clipping
    2. Cursor
  14. List Clipper
  15. Menu
  16. Plot
  17. Popup & Modal
    1. Flags
      1. BeginPopupContext*
      2. IsPopupOpen
    2. Open+begin combined helpers
    3. Tooltips
  18. Style
    1. Colors
    2. Variables
  19. Tab Bar
    1. Tab Item
  20. Table
    1. Background
    2. Header & Columns
      1. Column Flags
        1. Input configuration
        2. Output status
    3. Sorting
    4. Table Flags
      1. Clipping
      2. Decorations
      3. Features
      4. Padding
      5. Scrolling
      6. Sizing Extra Options
      7. Sizing Policy
      8. Sorting
  21. Text
  22. Text & Scalar Input
    1. Flags
    2. InputText Callback
  23. Text Filter
  24. Tree Node
    1. Flags
  25. Utility
    1. Clipboard
    2. Color Conversion
    3. Conditions
    4. ID stack/scope
    5. Logging/Capture
  26. Viewport
    1. Work Area
  27. Window
    1. Child Windows
    2. Content Region
    3. Debug Windows
    4. Docking
    5. Flags
    6. Properties
      1. Focused Flags
      2. Size Callback
    7. Scrolling

Button

Most widgets return true when the value has been changed or when pressed/selected.

You may also use one of the many IsItem* functions (e.g. IsItemActive, IsItemHovered, etc.) to query widget state.

Function: ArrowButton
C++bool ImGui::ArrowButton(ImGui_Context* ctx, const char* str_id, int dir)
EELbool ImGui_ArrowButton(ImGui_Context ctx, "str_id", int dir)
Legacy EELbool extension_api("ImGui_ArrowButton", ImGui_Context ctx, "str_id", int dir)
Luaboolean retval = reaper.ImGui_ArrowButton(ImGui_Context ctx, string str_id, number dir)
Pythonbool retval = ImGui_ArrowButton(ImGui_Context ctx, str str_id, int dir)

Square button with an arrow shape. 'dir' is one of the Dir_* values

View source

Function: Button
C++bool ImGui::Button(ImGui_Context* ctx, const char* label, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0)
EELbool ImGui_Button(ImGui_Context ctx, "label", size_w = 0.0, size_h = 0.0)
Legacy EELbool extension_api("ImGui_Button", ImGui_Context ctx, "label", size_w = 0.0, size_h = 0.0)
Luaboolean retval = reaper.ImGui_Button(ImGui_Context ctx, string label, number size_w = 0.0, number size_h = 0.0)
Pythonbool retval = ImGui_Button(ImGui_Context ctx, str label, float size_w = 0.0, float size_h = 0.0)

View source

Function: Checkbox
C++bool ImGui::Checkbox(ImGui_Context* ctx, const char* label, bool* vInOut)
EELbool ImGui_Checkbox(ImGui_Context ctx, "label", bool &v)
Legacy EELbool extension_api("ImGui_Checkbox", ImGui_Context ctx, "label", bool &v)
Luaboolean retval, boolean v = reaper.ImGui_Checkbox(ImGui_Context ctx, string label, boolean v)
Python(bool retval, bool v) = ImGui_Checkbox(ImGui_Context ctx, str label, bool v)

View source

Function: CheckboxFlags
C++bool ImGui::CheckboxFlags(ImGui_Context* ctx, const char* label, int* flagsInOut, int flags_value)
EELbool ImGui_CheckboxFlags(ImGui_Context ctx, "label", int &flags, int flags_value)
Legacy EELbool extension_api("ImGui_CheckboxFlags", ImGui_Context ctx, "label", int &flags, int flags_value)
Luaboolean retval, number flags = reaper.ImGui_CheckboxFlags(ImGui_Context ctx, string label, number flags, number flags_value)
Python(bool retval, int flags) = ImGui_CheckboxFlags(ImGui_Context ctx, str label, int flags, int flags_value)

View source

Function: InvisibleButton
C++bool ImGui::InvisibleButton(ImGui_Context* ctx, const char* str_id, double size_w, double size_h, int* flagsInOptional = ButtonFlags_None)
EELbool ImGui_InvisibleButton(ImGui_Context ctx, "str_id", size_w, size_h, int flags = ButtonFlags_None)
Legacy EELbool extension_api("ImGui_InvisibleButton", ImGui_Context ctx, "str_id", size_w, size_h, int flags = ButtonFlags_None)
Luaboolean retval = reaper.ImGui_InvisibleButton(ImGui_Context ctx, string str_id, number size_w, number size_h, number flags = ButtonFlags_None)
Pythonbool retval = ImGui_InvisibleButton(ImGui_Context ctx, str str_id, float size_w, float size_h, int flags = ButtonFlags_None)

Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.).

View source

Function: PopButtonRepeat
C++void ImGui::PopButtonRepeat(ImGui_Context* ctx)
EELImGui_PopButtonRepeat(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopButtonRepeat", ImGui_Context ctx)
Luareaper.ImGui_PopButtonRepeat(ImGui_Context ctx)
PythonImGui_PopButtonRepeat(ImGui_Context ctx)

See PushButtonRepeat

View source

Function: PushButtonRepeat
C++void ImGui::PushButtonRepeat(ImGui_Context* ctx, bool repeat)
EELImGui_PushButtonRepeat(ImGui_Context ctx, bool repeat)
Legacy EELextension_api("ImGui_PushButtonRepeat", ImGui_Context ctx, bool repeat)
Luareaper.ImGui_PushButtonRepeat(ImGui_Context ctx, boolean repeat)
PythonImGui_PushButtonRepeat(ImGui_Context ctx, bool repeat)

In 'repeat' mode, Button*() functions return repeated true in a typematic manner (using ConfigVar_KeyRepeatDelay/ConfigVar_KeyRepeatRate settings).

Note that you can call IsItemActive after any Button to tell if the button is held in the current frame.

View source

Function: RadioButton
C++bool ImGui::RadioButton(ImGui_Context* ctx, const char* label, bool active)
EELbool ImGui_RadioButton(ImGui_Context ctx, "label", bool active)
Legacy EELbool extension_api("ImGui_RadioButton", ImGui_Context ctx, "label", bool active)
Luaboolean retval = reaper.ImGui_RadioButton(ImGui_Context ctx, string label, boolean active)
Pythonbool retval = ImGui_RadioButton(ImGui_Context ctx, str label, bool active)

Use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }

View source

Function: RadioButtonEx
C++bool ImGui::RadioButtonEx(ImGui_Context* ctx, const char* label, int* vInOut, int v_button)
EELbool ImGui_RadioButtonEx(ImGui_Context ctx, "label", int &v, int v_button)
Legacy EELbool extension_api("ImGui_RadioButtonEx", ImGui_Context ctx, "label", int &v, int v_button)
Luaboolean retval, number v = reaper.ImGui_RadioButtonEx(ImGui_Context ctx, string label, number v, number v_button)
Python(bool retval, int v) = ImGui_RadioButtonEx(ImGui_Context ctx, str label, int v, int v_button)

Shortcut to handle RadioButton's example pattern when value is an integer

View source

Function: SmallButton
C++bool ImGui::SmallButton(ImGui_Context* ctx, const char* label)
EELbool ImGui_SmallButton(ImGui_Context ctx, "label")
Legacy EELbool extension_api("ImGui_SmallButton", ImGui_Context ctx, "label")
Luaboolean retval = reaper.ImGui_SmallButton(ImGui_Context ctx, string label)
Pythonbool retval = ImGui_SmallButton(ImGui_Context ctx, str label)

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

View source

Cardinal directions

For ArrowButton.

Constant: Dir_Down
C++int ImGui::Dir_Down
EELint ImGui_Dir_Down()
Legacy EELint extension_api("ImGui_Dir_Down")
Luanumber retval = reaper.ImGui_Dir_Down()
Pythonint retval = ImGui_Dir_Down()

View source

Constant: Dir_Left
C++int ImGui::Dir_Left
EELint ImGui_Dir_Left()
Legacy EELint extension_api("ImGui_Dir_Left")
Luanumber retval = reaper.ImGui_Dir_Left()
Pythonint retval = ImGui_Dir_Left()

View source

Constant: Dir_None
C++int ImGui::Dir_None
EELint ImGui_Dir_None()
Legacy EELint extension_api("ImGui_Dir_None")
Luanumber retval = reaper.ImGui_Dir_None()
Pythonint retval = ImGui_Dir_None()

View source

Constant: Dir_Right
C++int ImGui::Dir_Right
EELint ImGui_Dir_Right()
Legacy EELint extension_api("ImGui_Dir_Right")
Luanumber retval = reaper.ImGui_Dir_Right()
Pythonint retval = ImGui_Dir_Right()

View source

Constant: Dir_Up
C++int ImGui::Dir_Up
EELint ImGui_Dir_Up()
Legacy EELint extension_api("ImGui_Dir_Up")
Luanumber retval = reaper.ImGui_Dir_Up()
Pythonint retval = ImGui_Dir_Up()

View source

Flags

For InvisibleButton.

Constant: ButtonFlags_MouseButtonLeft
C++int ImGui::ButtonFlags_MouseButtonLeft
EELint ImGui_ButtonFlags_MouseButtonLeft()
Legacy EELint extension_api("ImGui_ButtonFlags_MouseButtonLeft")
Luanumber retval = reaper.ImGui_ButtonFlags_MouseButtonLeft()
Pythonint retval = ImGui_ButtonFlags_MouseButtonLeft()

React on left mouse button (default).

View source

Constant: ButtonFlags_MouseButtonMiddle
C++int ImGui::ButtonFlags_MouseButtonMiddle
EELint ImGui_ButtonFlags_MouseButtonMiddle()
Legacy EELint extension_api("ImGui_ButtonFlags_MouseButtonMiddle")
Luanumber retval = reaper.ImGui_ButtonFlags_MouseButtonMiddle()
Pythonint retval = ImGui_ButtonFlags_MouseButtonMiddle()

React on center mouse button.

View source

Constant: ButtonFlags_MouseButtonRight
C++int ImGui::ButtonFlags_MouseButtonRight
EELint ImGui_ButtonFlags_MouseButtonRight()
Legacy EELint extension_api("ImGui_ButtonFlags_MouseButtonRight")
Luanumber retval = reaper.ImGui_ButtonFlags_MouseButtonRight()
Pythonint retval = ImGui_ButtonFlags_MouseButtonRight()

React on right mouse button.

View source

Constant: ButtonFlags_None
C++int ImGui::ButtonFlags_None
EELint ImGui_ButtonFlags_None()
Legacy EELint extension_api("ImGui_ButtonFlags_None")
Luanumber retval = reaper.ImGui_ButtonFlags_None()
Pythonint retval = ImGui_ButtonFlags_None()

View source


Color Edit

Tip: the ColorEdit* functions have a little color square that can be left-clicked to open a picker, and right-clicked to open an option menu.

Function: ColorButton
C++bool ImGui::ColorButton(ImGui_Context* ctx, const char* desc_id, int col_rgba, int* flagsInOptional = ColorEditFlags_None, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0)
EELbool ImGui_ColorButton(ImGui_Context ctx, "desc_id", int col_rgba, int flags = ColorEditFlags_None, size_w = 0.0, size_h = 0.0)
Legacy EELbool extension_api("ImGui_ColorButton", ImGui_Context ctx, "desc_id", int col_rgba, int flags = ColorEditFlags_None, size_w = 0.0, size_h = 0.0)
Luaboolean retval = reaper.ImGui_ColorButton(ImGui_Context ctx, string desc_id, number col_rgba, number flags = ColorEditFlags_None, number size_w = 0.0, number size_h = 0.0)
Pythonbool retval = ImGui_ColorButton(ImGui_Context ctx, str desc_id, int col_rgba, int flags = ColorEditFlags_None, float size_w = 0.0, float size_h = 0.0)

Display a color square/button, hover for details, return true when pressed. Color is in 0xRRGGBBAA or, if ColorEditFlags_NoAlpha is set, 0xRRGGBB.

View source

Function: ColorEdit3
C++bool ImGui::ColorEdit3(ImGui_Context* ctx, const char* label, int* col_rgbInOut, int* flagsInOptional = ColorEditFlags_None)
EELbool ImGui_ColorEdit3(ImGui_Context ctx, "label", int &col_rgb, int flags = ColorEditFlags_None)
Legacy EELbool extension_api("ImGui_ColorEdit3", ImGui_Context ctx, "label", int &col_rgb, int flags = ColorEditFlags_None)
Luaboolean retval, number col_rgb = reaper.ImGui_ColorEdit3(ImGui_Context ctx, string label, number col_rgb, number flags = ColorEditFlags_None)
Python(bool retval, int col_rgb) = ImGui_ColorEdit3(ImGui_Context ctx, str label, int col_rgb, int flags = ColorEditFlags_None)

Color is in 0xXXRRGGBB. XX is ignored and will not be modified.

View source

Function: ColorEdit4
C++bool ImGui::ColorEdit4(ImGui_Context* ctx, const char* label, int* col_rgbaInOut, int* flagsInOptional = ColorEditFlags_None)
EELbool ImGui_ColorEdit4(ImGui_Context ctx, "label", int &col_rgba, int flags = ColorEditFlags_None)
Legacy EELbool extension_api("ImGui_ColorEdit4", ImGui_Context ctx, "label", int &col_rgba, int flags = ColorEditFlags_None)
Luaboolean retval, number col_rgba = reaper.ImGui_ColorEdit4(ImGui_Context ctx, string label, number col_rgba, number flags = ColorEditFlags_None)
Python(bool retval, int col_rgba) = ImGui_ColorEdit4(ImGui_Context ctx, str label, int col_rgba, int flags = ColorEditFlags_None)

Color is in 0xRRGGBBAA or, if ColorEditFlags_NoAlpha is set, 0xXXRRGGBB (XX is ignored and will not be modified).

View source

Function: ColorPicker3
C++bool ImGui::ColorPicker3(ImGui_Context* ctx, const char* label, int* col_rgbInOut, int* flagsInOptional = ColorEditFlags_None)
EELbool ImGui_ColorPicker3(ImGui_Context ctx, "label", int &col_rgb, int flags = ColorEditFlags_None)
Legacy EELbool extension_api("ImGui_ColorPicker3", ImGui_Context ctx, "label", int &col_rgb, int flags = ColorEditFlags_None)
Luaboolean retval, number col_rgb = reaper.ImGui_ColorPicker3(ImGui_Context ctx, string label, number col_rgb, number flags = ColorEditFlags_None)
Python(bool retval, int col_rgb) = ImGui_ColorPicker3(ImGui_Context ctx, str label, int col_rgb, int flags = ColorEditFlags_None)

Color is in 0xXXRRGGBB. XX is ignored and will not be modified.

View source

Function: ColorPicker4
C++bool ImGui::ColorPicker4(ImGui_Context* ctx, const char* label, int* col_rgbaInOut, int* flagsInOptional = ColorEditFlags_None, int* ref_colInOptional = nullptr)
EELbool ImGui_ColorPicker4(ImGui_Context ctx, "label", int &col_rgba, int flags = ColorEditFlags_None, int ref_col = 0)
Legacy EELbool extension_api("ImGui_ColorPicker4", ImGui_Context ctx, "label", int &col_rgba, int flags = ColorEditFlags_None, int ref_col = 0)
Luaboolean retval, number col_rgba = reaper.ImGui_ColorPicker4(ImGui_Context ctx, string label, number col_rgba, number flags = ColorEditFlags_None, number ref_col = nil)
Python(bool retval, int col_rgba) = ImGui_ColorPicker4(ImGui_Context ctx, str label, int col_rgba, int flags = ColorEditFlags_None, int ref_col = None)

View source

Function: SetColorEditOptions
C++void ImGui::SetColorEditOptions(ImGui_Context* ctx, int flags)
EELImGui_SetColorEditOptions(ImGui_Context ctx, int flags)
Legacy EELextension_api("ImGui_SetColorEditOptions", ImGui_Context ctx, int flags)
Luareaper.ImGui_SetColorEditOptions(ImGui_Context ctx, number flags)
PythonImGui_SetColorEditOptions(ImGui_Context ctx, int flags)

Picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.

View source

Flags

Constant: ColorEditFlags_NoAlpha
C++int ImGui::ColorEditFlags_NoAlpha
EELint ImGui_ColorEditFlags_NoAlpha()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoAlpha")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoAlpha()
Pythonint retval = ImGui_ColorEditFlags_NoAlpha()

ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).

View source

Constant: ColorEditFlags_NoBorder
C++int ImGui::ColorEditFlags_NoBorder
EELint ImGui_ColorEditFlags_NoBorder()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoBorder")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoBorder()
Pythonint retval = ImGui_ColorEditFlags_NoBorder()

ColorButton: disable border (which is enforced by default).

View source

Constant: ColorEditFlags_NoDragDrop
C++int ImGui::ColorEditFlags_NoDragDrop
EELint ImGui_ColorEditFlags_NoDragDrop()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoDragDrop")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoDragDrop()
Pythonint retval = ImGui_ColorEditFlags_NoDragDrop()

ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.

View source

Constant: ColorEditFlags_NoInputs
C++int ImGui::ColorEditFlags_NoInputs
EELint ImGui_ColorEditFlags_NoInputs()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoInputs")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoInputs()
Pythonint retval = ImGui_ColorEditFlags_NoInputs()

ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).

View source

Constant: ColorEditFlags_NoLabel
C++int ImGui::ColorEditFlags_NoLabel
EELint ImGui_ColorEditFlags_NoLabel()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoLabel")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoLabel()
Pythonint retval = ImGui_ColorEditFlags_NoLabel()

ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).

View source

Constant: ColorEditFlags_NoOptions
C++int ImGui::ColorEditFlags_NoOptions
EELint ImGui_ColorEditFlags_NoOptions()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoOptions")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoOptions()
Pythonint retval = ImGui_ColorEditFlags_NoOptions()

ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.

View source

Constant: ColorEditFlags_NoPicker
C++int ImGui::ColorEditFlags_NoPicker
EELint ImGui_ColorEditFlags_NoPicker()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoPicker")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoPicker()
Pythonint retval = ImGui_ColorEditFlags_NoPicker()

ColorEdit: disable picker when clicking on color square.

View source

Constant: ColorEditFlags_NoSidePreview
C++int ImGui::ColorEditFlags_NoSidePreview
EELint ImGui_ColorEditFlags_NoSidePreview()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoSidePreview")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoSidePreview()
Pythonint retval = ImGui_ColorEditFlags_NoSidePreview()

ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.

View source

Constant: ColorEditFlags_NoSmallPreview
C++int ImGui::ColorEditFlags_NoSmallPreview
EELint ImGui_ColorEditFlags_NoSmallPreview()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoSmallPreview")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoSmallPreview()
Pythonint retval = ImGui_ColorEditFlags_NoSmallPreview()

ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs).

View source

Constant: ColorEditFlags_NoTooltip
C++int ImGui::ColorEditFlags_NoTooltip
EELint ImGui_ColorEditFlags_NoTooltip()
Legacy EELint extension_api("ImGui_ColorEditFlags_NoTooltip")
Luanumber retval = reaper.ImGui_ColorEditFlags_NoTooltip()
Pythonint retval = ImGui_ColorEditFlags_NoTooltip()

ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.

View source

Constant: ColorEditFlags_None
C++int ImGui::ColorEditFlags_None
EELint ImGui_ColorEditFlags_None()
Legacy EELint extension_api("ImGui_ColorEditFlags_None")
Luanumber retval = reaper.ImGui_ColorEditFlags_None()
Pythonint retval = ImGui_ColorEditFlags_None()

View source

User Options

(right-click on widget to change some of them)

Constant: ColorEditFlags_AlphaBar
C++int ImGui::ColorEditFlags_AlphaBar
EELint ImGui_ColorEditFlags_AlphaBar()
Legacy EELint extension_api("ImGui_ColorEditFlags_AlphaBar")
Luanumber retval = reaper.ImGui_ColorEditFlags_AlphaBar()
Pythonint retval = ImGui_ColorEditFlags_AlphaBar()

ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.

View source

Constant: ColorEditFlags_AlphaPreview
C++int ImGui::ColorEditFlags_AlphaPreview
EELint ImGui_ColorEditFlags_AlphaPreview()
Legacy EELint extension_api("ImGui_ColorEditFlags_AlphaPreview")
Luanumber retval = reaper.ImGui_ColorEditFlags_AlphaPreview()
Pythonint retval = ImGui_ColorEditFlags_AlphaPreview()

ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.

View source

Constant: ColorEditFlags_AlphaPreviewHalf
C++int ImGui::ColorEditFlags_AlphaPreviewHalf
EELint ImGui_ColorEditFlags_AlphaPreviewHalf()
Legacy EELint extension_api("ImGui_ColorEditFlags_AlphaPreviewHalf")
Luanumber retval = reaper.ImGui_ColorEditFlags_AlphaPreviewHalf()
Pythonint retval = ImGui_ColorEditFlags_AlphaPreviewHalf()

ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.

View source

Constant: ColorEditFlags_DisplayHSV
C++int ImGui::ColorEditFlags_DisplayHSV
EELint ImGui_ColorEditFlags_DisplayHSV()
Legacy EELint extension_api("ImGui_ColorEditFlags_DisplayHSV")
Luanumber retval = reaper.ImGui_ColorEditFlags_DisplayHSV()
Pythonint retval = ImGui_ColorEditFlags_DisplayHSV()

ColorEdit: override display type to HSV. ColorPicker: select any combination using one or more of RGB/HSV/Hex.

View source

Constant: ColorEditFlags_DisplayHex
C++int ImGui::ColorEditFlags_DisplayHex
EELint ImGui_ColorEditFlags_DisplayHex()
Legacy EELint extension_api("ImGui_ColorEditFlags_DisplayHex")
Luanumber retval = reaper.ImGui_ColorEditFlags_DisplayHex()
Pythonint retval = ImGui_ColorEditFlags_DisplayHex()

ColorEdit: override display type to Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.

View source

Constant: ColorEditFlags_DisplayRGB
C++int ImGui::ColorEditFlags_DisplayRGB
EELint ImGui_ColorEditFlags_DisplayRGB()
Legacy EELint extension_api("ImGui_ColorEditFlags_DisplayRGB")
Luanumber retval = reaper.ImGui_ColorEditFlags_DisplayRGB()
Pythonint retval = ImGui_ColorEditFlags_DisplayRGB()

ColorEdit: override display type to RGB. ColorPicker: select any combination using one or more of RGB/HSV/Hex.

View source

Constant: ColorEditFlags_Float
C++int ImGui::ColorEditFlags_Float
EELint ImGui_ColorEditFlags_Float()
Legacy EELint extension_api("ImGui_ColorEditFlags_Float")
Luanumber retval = reaper.ImGui_ColorEditFlags_Float()
Pythonint retval = ImGui_ColorEditFlags_Float()

ColorEdit, ColorPicker, ColorButton: display values formatted as 0.0..1.0 floats instead of 0..255 integers. No round-trip of value via integers.

View source

Constant: ColorEditFlags_InputHSV
C++int ImGui::ColorEditFlags_InputHSV
EELint ImGui_ColorEditFlags_InputHSV()
Legacy EELint extension_api("ImGui_ColorEditFlags_InputHSV")
Luanumber retval = reaper.ImGui_ColorEditFlags_InputHSV()
Pythonint retval = ImGui_ColorEditFlags_InputHSV()

ColorEdit, ColorPicker: input and output data in HSV format.

View source

Constant: ColorEditFlags_InputRGB
C++int ImGui::ColorEditFlags_InputRGB
EELint ImGui_ColorEditFlags_InputRGB()
Legacy EELint extension_api("ImGui_ColorEditFlags_InputRGB")
Luanumber retval = reaper.ImGui_ColorEditFlags_InputRGB()
Pythonint retval = ImGui_ColorEditFlags_InputRGB()

ColorEdit, ColorPicker: input and output data in RGB format.

View source

Constant: ColorEditFlags_PickerHueBar
C++int ImGui::ColorEditFlags_PickerHueBar
EELint ImGui_ColorEditFlags_PickerHueBar()
Legacy EELint extension_api("ImGui_ColorEditFlags_PickerHueBar")
Luanumber retval = reaper.ImGui_ColorEditFlags_PickerHueBar()
Pythonint retval = ImGui_ColorEditFlags_PickerHueBar()

ColorPicker: bar for Hue, rectangle for Sat/Value.

View source

Constant: ColorEditFlags_PickerHueWheel
C++int ImGui::ColorEditFlags_PickerHueWheel
EELint ImGui_ColorEditFlags_PickerHueWheel()
Legacy EELint extension_api("ImGui_ColorEditFlags_PickerHueWheel")
Luanumber retval = reaper.ImGui_ColorEditFlags_PickerHueWheel()
Pythonint retval = ImGui_ColorEditFlags_PickerHueWheel()

ColorPicker: wheel for Hue, triangle for Sat/Value.

View source

Constant: ColorEditFlags_Uint8
C++int ImGui::ColorEditFlags_Uint8
EELint ImGui_ColorEditFlags_Uint8()
Legacy EELint extension_api("ImGui_ColorEditFlags_Uint8")
Luanumber retval = reaper.ImGui_ColorEditFlags_Uint8()
Pythonint retval = ImGui_ColorEditFlags_Uint8()

ColorEdit, ColorPicker, ColorButton: display values formatted as 0..255.

View source


Combo & List

Combo Box (Dropdown)

Function: BeginCombo
C++bool ImGui::BeginCombo(ImGui_Context* ctx, const char* label, const char* preview_value, int* flagsInOptional = ComboFlags_None)
EELbool ImGui_BeginCombo(ImGui_Context ctx, "label", "preview_value", int flags = ComboFlags_None)
Legacy EELbool extension_api("ImGui_BeginCombo", ImGui_Context ctx, "label", "preview_value", int flags = ComboFlags_None)
Luaboolean retval = reaper.ImGui_BeginCombo(ImGui_Context ctx, string label, string preview_value, number flags = ComboFlags_None)
Pythonbool retval = ImGui_BeginCombo(ImGui_Context ctx, str label, str preview_value, int flags = ComboFlags_None)

The BeginCombo/EndCombo API allows you to manage your contents and selection state however you want it, by creating e.g. Selectable items.

View source

Function: Combo
C++bool ImGui::Combo(ImGui_Context* ctx, const char* label, int* current_itemInOut, const char* items, int items_sz, int* popup_max_height_in_itemsInOptional = -1)
EELbool ImGui_Combo(ImGui_Context ctx, "label", int &current_item, "items", int popup_max_height_in_items = -1)
Legacy EELbool extension_api("ImGui_Combo", ImGui_Context ctx, "label", int &current_item, "items", int popup_max_height_in_items = -1)
Luaboolean retval, number current_item = reaper.ImGui_Combo(ImGui_Context ctx, string label, number current_item, string items, number popup_max_height_in_items = -1)
Python(bool retval, int current_item) = ImGui_Combo(ImGui_Context ctx, str label, int current_item, str items, int popup_max_height_in_items = -1)

Helper over BeginCombo/EndCombo for convenience purpose. Each item must be null-terminated (requires REAPER v6.44 or newer for EEL and Lua).

View source

Constant: ComboFlags_HeightLarge
C++int ImGui::ComboFlags_HeightLarge
EELint ImGui_ComboFlags_HeightLarge()
Legacy EELint extension_api("ImGui_ComboFlags_HeightLarge")
Luanumber retval = reaper.ImGui_ComboFlags_HeightLarge()
Pythonint retval = ImGui_ComboFlags_HeightLarge()

Max ~20 items visible.

View source

Constant: ComboFlags_HeightLargest
C++int ImGui::ComboFlags_HeightLargest
EELint ImGui_ComboFlags_HeightLargest()
Legacy EELint extension_api("ImGui_ComboFlags_HeightLargest")
Luanumber retval = reaper.ImGui_ComboFlags_HeightLargest()
Pythonint retval = ImGui_ComboFlags_HeightLargest()

As many fitting items as possible.

View source

Constant: ComboFlags_HeightRegular
C++int ImGui::ComboFlags_HeightRegular
EELint ImGui_ComboFlags_HeightRegular()
Legacy EELint extension_api("ImGui_ComboFlags_HeightRegular")
Luanumber retval = reaper.ImGui_ComboFlags_HeightRegular()
Pythonint retval = ImGui_ComboFlags_HeightRegular()

Max ~8 items visible (default).

View source

Constant: ComboFlags_HeightSmall
C++int ImGui::ComboFlags_HeightSmall
EELint ImGui_ComboFlags_HeightSmall()
Legacy EELint extension_api("ImGui_ComboFlags_HeightSmall")
Luanumber retval = reaper.ImGui_ComboFlags_HeightSmall()
Pythonint retval = ImGui_ComboFlags_HeightSmall()

Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints prior to calling BeginCombo.

View source

Constant: ComboFlags_NoArrowButton
C++int ImGui::ComboFlags_NoArrowButton
EELint ImGui_ComboFlags_NoArrowButton()
Legacy EELint extension_api("ImGui_ComboFlags_NoArrowButton")
Luanumber retval = reaper.ImGui_ComboFlags_NoArrowButton()
Pythonint retval = ImGui_ComboFlags_NoArrowButton()

Display on the preview box without the square arrow button.

View source

Constant: ComboFlags_NoPreview
C++int ImGui::ComboFlags_NoPreview
EELint ImGui_ComboFlags_NoPreview()
Legacy EELint extension_api("ImGui_ComboFlags_NoPreview")
Luanumber retval = reaper.ImGui_ComboFlags_NoPreview()
Pythonint retval = ImGui_ComboFlags_NoPreview()

Display only a square arrow button.

View source

Constant: ComboFlags_None
C++int ImGui::ComboFlags_None
EELint ImGui_ComboFlags_None()
Legacy EELint extension_api("ImGui_ComboFlags_None")
Luanumber retval = reaper.ImGui_ComboFlags_None()
Pythonint retval = ImGui_ComboFlags_None()

View source

Constant: ComboFlags_PopupAlignLeft
C++int ImGui::ComboFlags_PopupAlignLeft
EELint ImGui_ComboFlags_PopupAlignLeft()
Legacy EELint extension_api("ImGui_ComboFlags_PopupAlignLeft")
Luanumber retval = reaper.ImGui_ComboFlags_PopupAlignLeft()
Pythonint retval = ImGui_ComboFlags_PopupAlignLeft()

Align the popup toward the left by default.

View source

Function: EndCombo
C++void ImGui::EndCombo(ImGui_Context* ctx)
EELImGui_EndCombo(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndCombo", ImGui_Context ctx)
Luareaper.ImGui_EndCombo(ImGui_Context ctx)
PythonImGui_EndCombo(ImGui_Context ctx)

Only call EndCombo() if BeginCombo returns true!

View source

List Boxes

This is essentially a thin wrapper to using BeginChild/EndChild with some stylistic changes.

Function: BeginListBox
C++bool ImGui::BeginListBox(ImGui_Context* ctx, const char* label, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0)
EELbool ImGui_BeginListBox(ImGui_Context ctx, "label", size_w = 0.0, size_h = 0.0)
Legacy EELbool extension_api("ImGui_BeginListBox", ImGui_Context ctx, "label", size_w = 0.0, size_h = 0.0)
Luaboolean retval = reaper.ImGui_BeginListBox(ImGui_Context ctx, string label, number size_w = 0.0, number size_h = 0.0)
Pythonbool retval = ImGui_BeginListBox(ImGui_Context ctx, str label, float size_w = 0.0, float size_h = 0.0)

Open a framed scrolling region. This is essentially a thin wrapper to using BeginChild/EndChild with some stylistic changes.

The BeginListBox/EndListBox API allows you to manage your contents and selection state however you want it, by creating e.g. Selectable or any items.

See EndListBox.

View source

Function: EndListBox
C++void ImGui::EndListBox(ImGui_Context* ctx)
EELImGui_EndListBox(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndListBox", ImGui_Context ctx)
Luareaper.ImGui_EndListBox(ImGui_Context ctx)
PythonImGui_EndListBox(ImGui_Context ctx)

Only call EndListBox() if BeginListBox returned true!

View source

Function: ListBox
C++bool ImGui::ListBox(ImGui_Context* ctx, const char* label, int* current_itemInOut, const char* items, int items_sz, int* height_in_itemsInOptional = -1)
EELbool ImGui_ListBox(ImGui_Context ctx, "label", int &current_item, "items", int height_in_items = -1)
Legacy EELbool extension_api("ImGui_ListBox", ImGui_Context ctx, "label", int &current_item, "items", int height_in_items = -1)
Luaboolean retval, number current_item = reaper.ImGui_ListBox(ImGui_Context ctx, string label, number current_item, string items, number height_in_items = -1)
Python(bool retval, int current_item) = ImGui_ListBox(ImGui_Context ctx, str label, int current_item, str items, int height_in_items = -1)

This is an helper over BeginListBox/EndListBox for convenience purpose.

Each item must be null-terminated (requires REAPER v6.44 or newer for EEL and Lua).

View source

Selectables

A selectable highlights when hovered, and can display another color when selected. Neighbors selectable extend their highlight bounds in order to leave no gap between them. This is so a series of selected Selectable appear contiguous.

Function: Selectable
C++bool ImGui::Selectable(ImGui_Context* ctx, const char* label, bool* p_selectedInOut, int* flagsInOptional = SelectableFlags_None, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0)
EELbool ImGui_Selectable(ImGui_Context ctx, "label", bool &p_selected, int flags = SelectableFlags_None, size_w = 0.0, size_h = 0.0)
Legacy EELbool extension_api("ImGui_Selectable", ImGui_Context ctx, "label", bool &p_selected, int flags = SelectableFlags_None, size_w = 0.0, size_h = 0.0)
Luaboolean retval, boolean p_selected = reaper.ImGui_Selectable(ImGui_Context ctx, string label, boolean p_selected, number flags = SelectableFlags_None, number size_w = 0.0, number size_h = 0.0)
Python(bool retval, bool p_selected) = ImGui_Selectable(ImGui_Context ctx, str label, bool p_selected, int flags = SelectableFlags_None, float size_w = 0.0, float size_h = 0.0)

View source

Constant: SelectableFlags_AllowDoubleClick
C++int ImGui::SelectableFlags_AllowDoubleClick
EELint ImGui_SelectableFlags_AllowDoubleClick()
Legacy EELint extension_api("ImGui_SelectableFlags_AllowDoubleClick")
Luanumber retval = reaper.ImGui_SelectableFlags_AllowDoubleClick()
Pythonint retval = ImGui_SelectableFlags_AllowDoubleClick()

Generate press events on double clicks too.

View source

Constant: SelectableFlags_AllowItemOverlap
C++int ImGui::SelectableFlags_AllowItemOverlap
EELint ImGui_SelectableFlags_AllowItemOverlap()
Legacy EELint extension_api("ImGui_SelectableFlags_AllowItemOverlap")
Luanumber retval = reaper.ImGui_SelectableFlags_AllowItemOverlap()
Pythonint retval = ImGui_SelectableFlags_AllowItemOverlap()

Hit testing to allow subsequent widgets to overlap this one.

View source

Constant: SelectableFlags_Disabled
C++int ImGui::SelectableFlags_Disabled
EELint ImGui_SelectableFlags_Disabled()
Legacy EELint extension_api("ImGui_SelectableFlags_Disabled")
Luanumber retval = reaper.ImGui_SelectableFlags_Disabled()
Pythonint retval = ImGui_SelectableFlags_Disabled()

Cannot be selected, display grayed out text.

View source

Constant: SelectableFlags_DontClosePopups
C++int ImGui::SelectableFlags_DontClosePopups
EELint ImGui_SelectableFlags_DontClosePopups()
Legacy EELint extension_api("ImGui_SelectableFlags_DontClosePopups")
Luanumber retval = reaper.ImGui_SelectableFlags_DontClosePopups()
Pythonint retval = ImGui_SelectableFlags_DontClosePopups()

Clicking this doesn't close parent popup window.

View source

Constant: SelectableFlags_None
C++int ImGui::SelectableFlags_None
EELint ImGui_SelectableFlags_None()
Legacy EELint extension_api("ImGui_SelectableFlags_None")
Luanumber retval = reaper.ImGui_SelectableFlags_None()
Pythonint retval = ImGui_SelectableFlags_None()

View source

Constant: SelectableFlags_SpanAllColumns
C++int ImGui::SelectableFlags_SpanAllColumns
EELint ImGui_SelectableFlags_SpanAllColumns()
Legacy EELint extension_api("ImGui_SelectableFlags_SpanAllColumns")
Luanumber retval = reaper.ImGui_SelectableFlags_SpanAllColumns()
Pythonint retval = ImGui_SelectableFlags_SpanAllColumns()

Selectable frame can span all columns (text will still fit in current column).

View source


Context

Function: Attach
C++void ImGui::Attach(ImGui_Context* ctx, ImGui_Resource* obj)
EELImGui_Attach(ImGui_Context ctx, ImGui_Resource obj)
Legacy EELextension_api("ImGui_Attach", ImGui_Context ctx, ImGui_Resource obj)
Luareaper.ImGui_Attach(ImGui_Context ctx, ImGui_Resource obj)
PythonImGui_Attach(ImGui_Context ctx, ImGui_Resource obj)

Link the object's lifetime to the given context. Objects can be draw list splitters, fonts, images, list clippers, etc. Call Detach to let the object be garbage-collected after unuse again.

List clipper objects may only be attached to the context they were created for.

Fonts are (currently) a special case: they must be attached to the context before usage. Furthermore, fonts may only be attached or detached immediately after the context is created or before any other function calls modifying the context per defer cycle. See "limitations" in the font API documentation.

View source

Function: CreateContext
C++ImGui_Context* ImGui::CreateContext(const char* label, int* config_flagsInOptional = ConfigFlags_None)
EELImGui_Context* ImGui_CreateContext("label", int config_flags = ConfigFlags_None)
Legacy EELImGui_Context* extension_api("ImGui_CreateContext", "label", int config_flags = ConfigFlags_None)
LuaImGui_Context retval = reaper.ImGui_CreateContext(string label, number config_flags = ConfigFlags_None)
PythonImGui_Context retval = ImGui_CreateContext(str label, int config_flags = ConfigFlags_None)

Create a new ReaImGui context. The context will remain valid as long as it is used in each defer cycle.

The label is used for the tab text when windows are docked in REAPER and also as a unique identifier for storing settings.

View source

Function: DestroyContext
C++void ImGui::DestroyContext(ImGui_Context* ctx)
EELImGui_DestroyContext(ImGui_Context ctx)
Legacy EELextension_api("ImGui_DestroyContext", ImGui_Context ctx)
Luareaper.ImGui_DestroyContext(ImGui_Context ctx)
PythonImGui_DestroyContext(ImGui_Context ctx)

Free the resources used by a context.

Calling this function is usually not required as all ReaImGui objects are automatically garbage-collected when unused.

View source

Function: Detach
C++void ImGui::Detach(ImGui_Context* ctx, ImGui_Resource* obj)
EELImGui_Detach(ImGui_Context ctx, ImGui_Resource obj)
Legacy EELextension_api("ImGui_Detach", ImGui_Context ctx, ImGui_Resource obj)
Luareaper.ImGui_Detach(ImGui_Context ctx, ImGui_Resource obj)
PythonImGui_Detach(ImGui_Context ctx, ImGui_Resource obj)

Unlink the object's lifetime. Unattached objects are automatically destroyed when left unused. You may check whether an object has been destroyed using ValidatePtr.

View source

Function: GetDeltaTime
C++double ImGui::GetDeltaTime(ImGui_Context* ctx)
EELdouble ImGui_GetDeltaTime(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetDeltaTime", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetDeltaTime(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetDeltaTime(ImGui_Context ctx)

Time elapsed since last frame, in seconds.

View source

Function: GetFrameCount
C++int ImGui::GetFrameCount(ImGui_Context* ctx)
EELint ImGui_GetFrameCount(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_GetFrameCount", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetFrameCount(ImGui_Context ctx)
Pythonint retval = ImGui_GetFrameCount(ImGui_Context ctx)

Get global imgui frame count. incremented by 1 every frame.

View source

Function: GetFramerate
C++double ImGui::GetFramerate(ImGui_Context* ctx)
EELdouble ImGui_GetFramerate(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetFramerate", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetFramerate(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetFramerate(ImGui_Context ctx)

Estimate of application framerate (rolling average over 60 frames, based on GetDeltaTime), in frame per second. Solely for convenience.

View source

Function: GetTime
C++double ImGui::GetTime(ImGui_Context* ctx)
EELdouble ImGui_GetTime(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetTime", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetTime(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetTime(ImGui_Context ctx)

Get global imgui time. Incremented every frame.

View source

Flags

For CreateContext and SetConfigVar(ConfigVar_Flags()).

Constant: ConfigFlags_DockingEnable
C++int ImGui::ConfigFlags_DockingEnable
EELint ImGui_ConfigFlags_DockingEnable()
Legacy EELint extension_api("ImGui_ConfigFlags_DockingEnable")
Luanumber retval = reaper.ImGui_ConfigFlags_DockingEnable()
Pythonint retval = ImGui_ConfigFlags_DockingEnable()

[BETA] Enable docking functionality.

View source

Constant: ConfigFlags_NavEnableKeyboard
C++int ImGui::ConfigFlags_NavEnableKeyboard
EELint ImGui_ConfigFlags_NavEnableKeyboard()
Legacy EELint extension_api("ImGui_ConfigFlags_NavEnableKeyboard")
Luanumber retval = reaper.ImGui_ConfigFlags_NavEnableKeyboard()
Pythonint retval = ImGui_ConfigFlags_NavEnableKeyboard()

Master keyboard navigation enable flag. Enable full Tabbing + directional arrows + space/enter to activate.

View source

Constant: ConfigFlags_NavEnableSetMousePos
C++int ImGui::ConfigFlags_NavEnableSetMousePos
EELint ImGui_ConfigFlags_NavEnableSetMousePos()
Legacy EELint extension_api("ImGui_ConfigFlags_NavEnableSetMousePos")
Luanumber retval = reaper.ImGui_ConfigFlags_NavEnableSetMousePos()
Pythonint retval = ImGui_ConfigFlags_NavEnableSetMousePos()

Instruct navigation to move the mouse cursor.

View source

Constant: ConfigFlags_NavNoCaptureKeyboard
C++int ImGui::ConfigFlags_NavNoCaptureKeyboard
EELint ImGui_ConfigFlags_NavNoCaptureKeyboard()
Legacy EELint extension_api("ImGui_ConfigFlags_NavNoCaptureKeyboard")
Luanumber retval = reaper.ImGui_ConfigFlags_NavNoCaptureKeyboard()
Pythonint retval = ImGui_ConfigFlags_NavNoCaptureKeyboard()

Instruct navigation to not capture global keyboard input when ConfigFlags_NavEnableKeyboard is set (see SetNextFrameWantCaptureKeyboard).

View source

Constant: ConfigFlags_NoMouse
C++int ImGui::ConfigFlags_NoMouse
EELint ImGui_ConfigFlags_NoMouse()
Legacy EELint extension_api("ImGui_ConfigFlags_NoMouse")
Luanumber retval = reaper.ImGui_ConfigFlags_NoMouse()
Pythonint retval = ImGui_ConfigFlags_NoMouse()

Instruct imgui to ignore mouse position/buttons.

View source

Constant: ConfigFlags_NoMouseCursorChange
C++int ImGui::ConfigFlags_NoMouseCursorChange
EELint ImGui_ConfigFlags_NoMouseCursorChange()
Legacy EELint extension_api("ImGui_ConfigFlags_NoMouseCursorChange")
Luanumber retval = reaper.ImGui_ConfigFlags_NoMouseCursorChange()
Pythonint retval = ImGui_ConfigFlags_NoMouseCursorChange()

Instruct backend to not alter mouse cursor shape and visibility.

View source

Constant: ConfigFlags_NoSavedSettings
C++int ImGui::ConfigFlags_NoSavedSettings
EELint ImGui_ConfigFlags_NoSavedSettings()
Legacy EELint extension_api("ImGui_ConfigFlags_NoSavedSettings")
Luanumber retval = reaper.ImGui_ConfigFlags_NoSavedSettings()
Pythonint retval = ImGui_ConfigFlags_NoSavedSettings()

Disable state restoration and persistence for the whole context.

View source

Constant: ConfigFlags_None
C++int ImGui::ConfigFlags_None
EELint ImGui_ConfigFlags_None()
Legacy EELint extension_api("ImGui_ConfigFlags_None")
Luanumber retval = reaper.ImGui_ConfigFlags_None()
Pythonint retval = ImGui_ConfigFlags_None()

View source

Options

Constant: ConfigVar_DebugBeginReturnValueLoop
C++int ImGui::ConfigVar_DebugBeginReturnValueLoop
EELint ImGui_ConfigVar_DebugBeginReturnValueLoop()
Legacy EELint extension_api("ImGui_ConfigVar_DebugBeginReturnValueLoop")
Luanumber retval = reaper.ImGui_ConfigVar_DebugBeginReturnValueLoop()
Pythonint retval = ImGui_ConfigVar_DebugBeginReturnValueLoop()

Some calls to Begin()/BeginChild() will return false. Will cycle through window depths then repeat. Suggested use: add "SetConfigVar(ConfigVar_DebugBeginReturnValueLoop(), GetKeyMods() == Mod_Shift" in your main loop then occasionally press SHIFT. Windows should be flickering while running.

View source

Constant: ConfigVar_DebugBeginReturnValueOnce
C++int ImGui::ConfigVar_DebugBeginReturnValueOnce
EELint ImGui_ConfigVar_DebugBeginReturnValueOnce()
Legacy EELint extension_api("ImGui_ConfigVar_DebugBeginReturnValueOnce")
Luanumber retval = reaper.ImGui_ConfigVar_DebugBeginReturnValueOnce()
Pythonint retval = ImGui_ConfigVar_DebugBeginReturnValueOnce()

First-time calls to Begin()/BeginChild() will return false. Needs to be set at context startup time if you don't want to miss windows.

View source

Constant: ConfigVar_DockingNoSplit
C++int ImGui::ConfigVar_DockingNoSplit
EELint ImGui_ConfigVar_DockingNoSplit()
Legacy EELint extension_api("ImGui_ConfigVar_DockingNoSplit")
Luanumber retval = reaper.ImGui_ConfigVar_DockingNoSplit()
Pythonint retval = ImGui_ConfigVar_DockingNoSplit()

Simplified docking mode: disable window splitting, so docking is limited to merging multiple windows together into tab-bars.

View source

Constant: ConfigVar_DockingTransparentPayload
C++int ImGui::ConfigVar_DockingTransparentPayload
EELint ImGui_ConfigVar_DockingTransparentPayload()
Legacy EELint extension_api("ImGui_ConfigVar_DockingTransparentPayload")
Luanumber retval = reaper.ImGui_ConfigVar_DockingTransparentPayload()
Pythonint retval = ImGui_ConfigVar_DockingTransparentPayload()

Make window or viewport transparent when docking and only display docking boxes on the target viewport.

View source

Constant: ConfigVar_DockingWithShift
C++int ImGui::ConfigVar_DockingWithShift
EELint ImGui_ConfigVar_DockingWithShift()
Legacy EELint extension_api("ImGui_ConfigVar_DockingWithShift")
Luanumber retval = reaper.ImGui_ConfigVar_DockingWithShift()
Pythonint retval = ImGui_ConfigVar_DockingWithShift()

Enable docking with holding Shift key (reduce visual noise, allows dropping in wider space

View source

Constant: ConfigVar_DragClickToInputText
C++int ImGui::ConfigVar_DragClickToInputText
EELint ImGui_ConfigVar_DragClickToInputText()
Legacy EELint extension_api("ImGui_ConfigVar_DragClickToInputText")
Luanumber retval = reaper.ImGui_ConfigVar_DragClickToInputText()
Pythonint retval = ImGui_ConfigVar_DragClickToInputText()

Enable turning Drag* widgets into text input with a simple mouse click-release (without moving). Not desirable on devices without a keyboard.

View source

Constant: ConfigVar_Flags
C++int ImGui::ConfigVar_Flags
EELint ImGui_ConfigVar_Flags()
Legacy EELint extension_api("ImGui_ConfigVar_Flags")
Luanumber retval = reaper.ImGui_ConfigVar_Flags()
Pythonint retval = ImGui_ConfigVar_Flags()

ConfigFlags_*

View source

Constant: ConfigVar_HoverDelayNormal
C++int ImGui::ConfigVar_HoverDelayNormal
EELint ImGui_ConfigVar_HoverDelayNormal()
Legacy EELint extension_api("ImGui_ConfigVar_HoverDelayNormal")
Luanumber retval = reaper.ImGui_ConfigVar_HoverDelayNormal()
Pythonint retval = ImGui_ConfigVar_HoverDelayNormal()

Delay on hovering before IsItemHovered(HoveredFlags_DelayNormal) returns true.

View source

Constant: ConfigVar_HoverDelayShort
C++int ImGui::ConfigVar_HoverDelayShort
EELint ImGui_ConfigVar_HoverDelayShort()
Legacy EELint extension_api("ImGui_ConfigVar_HoverDelayShort")
Luanumber retval = reaper.ImGui_ConfigVar_HoverDelayShort()
Pythonint retval = ImGui_ConfigVar_HoverDelayShort()

Delay on hovering before IsItemHovered(HoveredFlags_DelayShort) returns true.

View source

Constant: ConfigVar_InputTextEnterKeepActive
C++int ImGui::ConfigVar_InputTextEnterKeepActive
EELint ImGui_ConfigVar_InputTextEnterKeepActive()
Legacy EELint extension_api("ImGui_ConfigVar_InputTextEnterKeepActive")
Luanumber retval = reaper.ImGui_ConfigVar_InputTextEnterKeepActive()
Pythonint retval = ImGui_ConfigVar_InputTextEnterKeepActive()

Pressing Enter will keep item active and select contents (single-line only).

View source

Constant: ConfigVar_InputTrickleEventQueue
C++int ImGui::ConfigVar_InputTrickleEventQueue
EELint ImGui_ConfigVar_InputTrickleEventQueue()
Legacy EELint extension_api("ImGui_ConfigVar_InputTrickleEventQueue")
Luanumber retval = reaper.ImGui_ConfigVar_InputTrickleEventQueue()
Pythonint retval = ImGui_ConfigVar_InputTrickleEventQueue()

Enable input queue trickling: some types of events submitted during the same frame (e.g. button down + up) will be spread over multiple frames, improving interactions with low framerates.

Warning: when this option is disabled mouse clicks and key presses faster than a frame will be lost. This affects accessiblity features and some input devices.

View source

Constant: ConfigVar_KeyRepeatDelay
C++int ImGui::ConfigVar_KeyRepeatDelay
EELint ImGui_ConfigVar_KeyRepeatDelay()
Legacy EELint extension_api("ImGui_ConfigVar_KeyRepeatDelay")
Luanumber retval = reaper.ImGui_ConfigVar_KeyRepeatDelay()
Pythonint retval = ImGui_ConfigVar_KeyRepeatDelay()

When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).

View source

Constant: ConfigVar_KeyRepeatRate
C++int ImGui::ConfigVar_KeyRepeatRate
EELint ImGui_ConfigVar_KeyRepeatRate()
Legacy EELint extension_api("ImGui_ConfigVar_KeyRepeatRate")
Luanumber retval = reaper.ImGui_ConfigVar_KeyRepeatRate()
Pythonint retval = ImGui_ConfigVar_KeyRepeatRate()

When holding a key/button, rate at which it repeats, in seconds.

View source

Constant: ConfigVar_MacOSXBehaviors
C++int ImGui::ConfigVar_MacOSXBehaviors
EELint ImGui_ConfigVar_MacOSXBehaviors()
Legacy EELint extension_api("ImGui_ConfigVar_MacOSXBehaviors")
Luanumber retval = reaper.ImGui_ConfigVar_MacOSXBehaviors()
Pythonint retval = ImGui_ConfigVar_MacOSXBehaviors()

OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl.

View source

Constant: ConfigVar_MouseDoubleClickMaxDist
C++int ImGui::ConfigVar_MouseDoubleClickMaxDist
EELint ImGui_ConfigVar_MouseDoubleClickMaxDist()
Legacy EELint extension_api("ImGui_ConfigVar_MouseDoubleClickMaxDist")
Luanumber retval = reaper.ImGui_ConfigVar_MouseDoubleClickMaxDist()
Pythonint retval = ImGui_ConfigVar_MouseDoubleClickMaxDist()

Distance threshold to stay in to validate a double-click, in pixels.

View source

Constant: ConfigVar_MouseDoubleClickTime
C++int ImGui::ConfigVar_MouseDoubleClickTime
EELint ImGui_ConfigVar_MouseDoubleClickTime()
Legacy EELint extension_api("ImGui_ConfigVar_MouseDoubleClickTime")
Luanumber retval = reaper.ImGui_ConfigVar_MouseDoubleClickTime()
Pythonint retval = ImGui_ConfigVar_MouseDoubleClickTime()

Time for a double-click, in seconds.

View source

Constant: ConfigVar_MouseDragThreshold
C++int ImGui::ConfigVar_MouseDragThreshold
EELint ImGui_ConfigVar_MouseDragThreshold()
Legacy EELint extension_api("ImGui_ConfigVar_MouseDragThreshold")
Luanumber retval = reaper.ImGui_ConfigVar_MouseDragThreshold()
Pythonint retval = ImGui_ConfigVar_MouseDragThreshold()

Distance threshold before considering we are dragging.

View source

Constant: ConfigVar_ViewportsNoDecoration
C++int ImGui::ConfigVar_ViewportsNoDecoration
EELint ImGui_ConfigVar_ViewportsNoDecoration()
Legacy EELint extension_api("ImGui_ConfigVar_ViewportsNoDecoration")
Luanumber retval = reaper.ImGui_ConfigVar_ViewportsNoDecoration()
Pythonint retval = ImGui_ConfigVar_ViewportsNoDecoration()

Disable default OS window decoration. Enabling decoration can create subsequent issues at OS levels (e.g. minimum window size).

View source

Constant: ConfigVar_WindowsMoveFromTitleBarOnly
C++int ImGui::ConfigVar_WindowsMoveFromTitleBarOnly
EELint ImGui_ConfigVar_WindowsMoveFromTitleBarOnly()
Legacy EELint extension_api("ImGui_ConfigVar_WindowsMoveFromTitleBarOnly")
Luanumber retval = reaper.ImGui_ConfigVar_WindowsMoveFromTitleBarOnly()
Pythonint retval = ImGui_ConfigVar_WindowsMoveFromTitleBarOnly()

Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar.

View source

Constant: ConfigVar_WindowsResizeFromEdges
C++int ImGui::ConfigVar_WindowsResizeFromEdges
EELint ImGui_ConfigVar_WindowsResizeFromEdges()
Legacy EELint extension_api("ImGui_ConfigVar_WindowsResizeFromEdges")
Luanumber retval = reaper.ImGui_ConfigVar_WindowsResizeFromEdges()
Pythonint retval = ImGui_ConfigVar_WindowsResizeFromEdges()

Enable resizing of windows from their edges and from the lower-left corner.

View source

Function: GetConfigVar
C++double ImGui::GetConfigVar(ImGui_Context* ctx, int var_idx)
EELdouble ImGui_GetConfigVar(ImGui_Context ctx, int var_idx)
Legacy EELdouble extension_api("ImGui_GetConfigVar", ImGui_Context ctx, int var_idx)
Luanumber retval = reaper.ImGui_GetConfigVar(ImGui_Context ctx, number var_idx)
Pythonfloat retval = ImGui_GetConfigVar(ImGui_Context ctx, int var_idx)

View source

Function: SetConfigVar
C++void ImGui::SetConfigVar(ImGui_Context* ctx, int var_idx, double value)
EELImGui_SetConfigVar(ImGui_Context ctx, int var_idx, value)
Legacy EELextension_api("ImGui_SetConfigVar", ImGui_Context ctx, int var_idx, value)
Luareaper.ImGui_SetConfigVar(ImGui_Context ctx, number var_idx, number value)
PythonImGui_SetConfigVar(ImGui_Context ctx, int var_idx, float value)

View source


Drag & Drop

On source items, call BeginDragDropSource(), if it returns true also call SetDragDropPayload() + EndDragDropSource().

On target candidates, call BeginDragDropTarget(), if it returns true also call AcceptDragDropPayload() + EndDragDropTarget().

An item can be both a drag source and a drop target.

Function: AcceptDragDropPayload
C++bool ImGui::AcceptDragDropPayload(ImGui_Context* ctx, const char* type, char* payloadOutNeedBig, int payloadOutNeedBig_sz, int* flagsInOptional = DragDropFlags_None)
EELbool ImGui_AcceptDragDropPayload(ImGui_Context ctx, "type", #payload, int flags = DragDropFlags_None)
Legacy EELbool extension_api("ImGui_AcceptDragDropPayload", ImGui_Context ctx, "type", #payload, int flags = DragDropFlags_None)
Luaboolean retval, string payload = reaper.ImGui_AcceptDragDropPayload(ImGui_Context ctx, string type, nil, number flags = DragDropFlags_None)
Python(bool retval, str payload) = ImGui_AcceptDragDropPayload(ImGui_Context ctx, str type, int flags = DragDropFlags_None)

Accept contents of a given type. If DragDropFlags_AcceptBeforeDelivery is set you can peek into the payload before the mouse button is released.

View source

Function: AcceptDragDropPayloadFiles
C++bool ImGui::AcceptDragDropPayloadFiles(ImGui_Context* ctx, int* countOut, int* flagsInOptional = DragDropFlags_None)
EELbool ImGui_AcceptDragDropPayloadFiles(ImGui_Context ctx, int &count, int flags = DragDropFlags_None)
Legacy EELbool extension_api("ImGui_AcceptDragDropPayloadFiles", ImGui_Context ctx, int &count, int flags = DragDropFlags_None)
Luaboolean retval, number count = reaper.ImGui_AcceptDragDropPayloadFiles(ImGui_Context ctx, nil, number flags = DragDropFlags_None)
Python(bool retval, int count) = ImGui_AcceptDragDropPayloadFiles(ImGui_Context ctx, int flags = DragDropFlags_None)

Accept a list of dropped files. See AcceptDragDropPayload and GetDragDropPayloadFile.

View source

Function: AcceptDragDropPayloadRGB
C++bool ImGui::AcceptDragDropPayloadRGB(ImGui_Context* ctx, int* rgbOut, int* flagsInOptional = DragDropFlags_None)
EELbool ImGui_AcceptDragDropPayloadRGB(ImGui_Context ctx, int &rgb, int flags = DragDropFlags_None)
Legacy EELbool extension_api("ImGui_AcceptDragDropPayloadRGB", ImGui_Context ctx, int &rgb, int flags = DragDropFlags_None)
Luaboolean retval, number rgb = reaper.ImGui_AcceptDragDropPayloadRGB(ImGui_Context ctx, nil, number flags = DragDropFlags_None)
Python(bool retval, int rgb) = ImGui_AcceptDragDropPayloadRGB(ImGui_Context ctx, int flags = DragDropFlags_None)

Accept a RGB color. See AcceptDragDropPayload.

View source

Function: AcceptDragDropPayloadRGBA
C++bool ImGui::AcceptDragDropPayloadRGBA(ImGui_Context* ctx, int* rgbaOut, int* flagsInOptional = DragDropFlags_None)
EELbool ImGui_AcceptDragDropPayloadRGBA(ImGui_Context ctx, int &rgba, int flags = DragDropFlags_None)
Legacy EELbool extension_api("ImGui_AcceptDragDropPayloadRGBA", ImGui_Context ctx, int &rgba, int flags = DragDropFlags_None)
Luaboolean retval, number rgba = reaper.ImGui_AcceptDragDropPayloadRGBA(ImGui_Context ctx, nil, number flags = DragDropFlags_None)
Python(bool retval, int rgba) = ImGui_AcceptDragDropPayloadRGBA(ImGui_Context ctx, int flags = DragDropFlags_None)

Accept a RGBA color. See AcceptDragDropPayload.

View source

Function: BeginDragDropSource
C++bool ImGui::BeginDragDropSource(ImGui_Context* ctx, int* flagsInOptional = DragDropFlags_None)
EELbool ImGui_BeginDragDropSource(ImGui_Context ctx, int flags = DragDropFlags_None)
Legacy EELbool extension_api("ImGui_BeginDragDropSource", ImGui_Context ctx, int flags = DragDropFlags_None)
Luaboolean retval = reaper.ImGui_BeginDragDropSource(ImGui_Context ctx, number flags = DragDropFlags_None)
Pythonbool retval = ImGui_BeginDragDropSource(ImGui_Context ctx, int flags = DragDropFlags_None)

Call after submitting an item which may be dragged. when this return true, you can call SetDragDropPayload() + EndDragDropSource()

If you stop calling BeginDragDropSource() the payload is preserved however it won't have a preview tooltip (we currently display a fallback "..." tooltip as replacement).

View source

Function: BeginDragDropTarget
C++bool ImGui::BeginDragDropTarget(ImGui_Context* ctx)
EELbool ImGui_BeginDragDropTarget(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_BeginDragDropTarget", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_BeginDragDropTarget(ImGui_Context ctx)
Pythonbool retval = ImGui_BeginDragDropTarget(ImGui_Context ctx)

Call after submitting an item that may receive a payload. If this returns true, you can call AcceptDragDropPayload + EndDragDropTarget.

View source

Function: EndDragDropSource
C++void ImGui::EndDragDropSource(ImGui_Context* ctx)
EELImGui_EndDragDropSource(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndDragDropSource", ImGui_Context ctx)
Luareaper.ImGui_EndDragDropSource(ImGui_Context ctx)
PythonImGui_EndDragDropSource(ImGui_Context ctx)

Only call EndDragDropSource() if BeginDragDropSource returns true!

View source

Function: EndDragDropTarget
C++void ImGui::EndDragDropTarget(ImGui_Context* ctx)
EELImGui_EndDragDropTarget(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndDragDropTarget", ImGui_Context ctx)
Luareaper.ImGui_EndDragDropTarget(ImGui_Context ctx)
PythonImGui_EndDragDropTarget(ImGui_Context ctx)

Only call EndDragDropTarget() if BeginDragDropTarget returns true!

View source

Function: GetDragDropPayload
C++bool ImGui::GetDragDropPayload(ImGui_Context* ctx, char* typeOut, int typeOut_sz, char* payloadOutNeedBig, int payloadOutNeedBig_sz, bool* is_previewOut, bool* is_deliveryOut)
EELbool ImGui_GetDragDropPayload(ImGui_Context ctx, #type, #payload, bool &is_preview, bool &is_delivery)
Legacy EELbool extension_api("ImGui_GetDragDropPayload", ImGui_Context ctx, #type, #payload, bool &is_preview, bool &is_delivery)
Luaboolean retval, string type, string payload, boolean is_preview, boolean is_delivery = reaper.ImGui_GetDragDropPayload(ImGui_Context ctx)
Python(bool retval, str type, str payload, bool is_preview, bool is_delivery) = ImGui_GetDragDropPayload(ImGui_Context ctx)

Peek directly into the current payload from anywhere.

View source

Function: GetDragDropPayloadFile
C++bool ImGui::GetDragDropPayloadFile(ImGui_Context* ctx, int index, char* filenameOut, int filenameOut_sz)
EELbool ImGui_GetDragDropPayloadFile(ImGui_Context ctx, int index, #filename)
Legacy EELbool extension_api("ImGui_GetDragDropPayloadFile", ImGui_Context ctx, int index, #filename)
Luaboolean retval, string filename = reaper.ImGui_GetDragDropPayloadFile(ImGui_Context ctx, number index)
Python(bool retval, str filename) = ImGui_GetDragDropPayloadFile(ImGui_Context ctx, int index)

Get a filename from the list of dropped files. Returns false if index is out of bounds.

View source

Function: SetDragDropPayload
C++bool ImGui::SetDragDropPayload(ImGui_Context* ctx, const char* type, const char* data, int* condInOptional = Cond_Always)
EELbool ImGui_SetDragDropPayload(ImGui_Context ctx, "type", "data", int cond = Cond_Always)
Legacy EELbool extension_api("ImGui_SetDragDropPayload", ImGui_Context ctx, "type", "data", int cond = Cond_Always)
Luaboolean retval = reaper.ImGui_SetDragDropPayload(ImGui_Context ctx, string type, string data, number cond = Cond_Always)
Pythonbool retval = ImGui_SetDragDropPayload(ImGui_Context ctx, str type, str data, int cond = Cond_Always)

The type is a user defined string of maximum 32 characters. Strings starting with '_' are reserved for dear imgui internal types. Data is copied and held by imgui.

View source

Flags

Constant: DragDropFlags_None
C++int ImGui::DragDropFlags_None
EELint ImGui_DragDropFlags_None()
Legacy EELint extension_api("ImGui_DragDropFlags_None")
Luanumber retval = reaper.ImGui_DragDropFlags_None()
Pythonint retval = ImGui_DragDropFlags_None()

View source

Payload

For AcceptDragDropPayload

Constant: DragDropFlags_AcceptBeforeDelivery
C++int ImGui::DragDropFlags_AcceptBeforeDelivery
EELint ImGui_DragDropFlags_AcceptBeforeDelivery()
Legacy EELint extension_api("ImGui_DragDropFlags_AcceptBeforeDelivery")
Luanumber retval = reaper.ImGui_DragDropFlags_AcceptBeforeDelivery()
Pythonint retval = ImGui_DragDropFlags_AcceptBeforeDelivery()

AcceptDragDropPayload will returns true even before the mouse button is released. You can then check GetDragDropPayload/is_delivery to test if the payload needs to be delivered.

View source

Constant: DragDropFlags_AcceptNoDrawDefaultRect
C++int ImGui::DragDropFlags_AcceptNoDrawDefaultRect
EELint ImGui_DragDropFlags_AcceptNoDrawDefaultRect()
Legacy EELint extension_api("ImGui_DragDropFlags_AcceptNoDrawDefaultRect")
Luanumber retval = reaper.ImGui_DragDropFlags_AcceptNoDrawDefaultRect()
Pythonint retval = ImGui_DragDropFlags_AcceptNoDrawDefaultRect()

Do not draw the default highlight rectangle when hovering over target.

View source

Constant: DragDropFlags_AcceptNoPreviewTooltip
C++int ImGui::DragDropFlags_AcceptNoPreviewTooltip
EELint ImGui_DragDropFlags_AcceptNoPreviewTooltip()
Legacy EELint extension_api("ImGui_DragDropFlags_AcceptNoPreviewTooltip")
Luanumber retval = reaper.ImGui_DragDropFlags_AcceptNoPreviewTooltip()
Pythonint retval = ImGui_DragDropFlags_AcceptNoPreviewTooltip()

Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.

View source

Constant: DragDropFlags_AcceptPeekOnly
C++int ImGui::DragDropFlags_AcceptPeekOnly
EELint ImGui_DragDropFlags_AcceptPeekOnly()
Legacy EELint extension_api("ImGui_DragDropFlags_AcceptPeekOnly")
Luanumber retval = reaper.ImGui_DragDropFlags_AcceptPeekOnly()
Pythonint retval = ImGui_DragDropFlags_AcceptPeekOnly()

For peeking ahead and inspecting the payload before delivery. Equivalent to DragDropFlags_AcceptBeforeDelivery | DragDropFlags_AcceptNoDrawDefaultRect.

View source

Source

For BeginDragDropSource

Constant: DragDropFlags_SourceAllowNullID
C++int ImGui::DragDropFlags_SourceAllowNullID
EELint ImGui_DragDropFlags_SourceAllowNullID()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceAllowNullID")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceAllowNullID()
Pythonint retval = ImGui_DragDropFlags_SourceAllowNullID()

Allow items such as Text, Image that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.

View source

Constant: DragDropFlags_SourceAutoExpirePayload
C++int ImGui::DragDropFlags_SourceAutoExpirePayload
EELint ImGui_DragDropFlags_SourceAutoExpirePayload()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceAutoExpirePayload")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceAutoExpirePayload()
Pythonint retval = ImGui_DragDropFlags_SourceAutoExpirePayload()

Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged).

View source

Constant: DragDropFlags_SourceExtern
C++int ImGui::DragDropFlags_SourceExtern
EELint ImGui_DragDropFlags_SourceExtern()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceExtern")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceExtern()
Pythonint retval = ImGui_DragDropFlags_SourceExtern()

External source (from outside of dear imgui), won't attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.

View source

Constant: DragDropFlags_SourceNoDisableHover
C++int ImGui::DragDropFlags_SourceNoDisableHover
EELint ImGui_DragDropFlags_SourceNoDisableHover()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceNoDisableHover")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceNoDisableHover()
Pythonint retval = ImGui_DragDropFlags_SourceNoDisableHover()

By default, when dragging we clear data so that IsItemHovered will return false, to avoid subsequent user code submitting tooltips. This flag disables this behavior so you can still call IsItemHovered on the source item.

View source

Constant: DragDropFlags_SourceNoHoldToOpenOthers
C++int ImGui::DragDropFlags_SourceNoHoldToOpenOthers
EELint ImGui_DragDropFlags_SourceNoHoldToOpenOthers()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceNoHoldToOpenOthers")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceNoHoldToOpenOthers()
Pythonint retval = ImGui_DragDropFlags_SourceNoHoldToOpenOthers()

Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.

View source

Constant: DragDropFlags_SourceNoPreviewTooltip
C++int ImGui::DragDropFlags_SourceNoPreviewTooltip
EELint ImGui_DragDropFlags_SourceNoPreviewTooltip()
Legacy EELint extension_api("ImGui_DragDropFlags_SourceNoPreviewTooltip")
Luanumber retval = reaper.ImGui_DragDropFlags_SourceNoPreviewTooltip()
Pythonint retval = ImGui_DragDropFlags_SourceNoPreviewTooltip()

By default, a successful call to BeginDragDropSource opens a tooltip so you can display a preview or description of the source contents. This flag disables this behavior.

View source


Drag & Slider

We use the same sets of flags for Drag*() and Slider*() functions as the features are the same and it makes it easier to swap them.

CTRL+Click on any drag box or slider to turn them into an input box. Manually input values aren't clamped by default and can go off-bounds. Use SliderFlags_AlwaysClamp to always clamp.

Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" -> 1.234; "%5.2f secs" -> 01.23 secs; "Biscuit: %.0f" -> Biscuit: 1; etc.

Format string may also be set to nil or use the default format ("%f" or "%d").

Drag Sliders

Speed are per-pixel of mouse movement (v_speed=0.2: mouse needs to move by 5 pixels to increase value by 1). For gamepad/keyboard navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision).

Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits if SliderFlags_AlwaysClamp is not used. Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = -FLT_MAX / INT_MIN to avoid clamping to a minimum.

Function: DragDouble
C++bool ImGui::DragDouble(ImGui_Context* ctx, const char* label, double* vInOut, double* v_speedInOptional = 1.0, double* v_minInOptional = 0.0, double* v_maxInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragDouble(ImGui_Context ctx, "label", &v, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragDouble", ImGui_Context ctx, "label", &v, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_DragDouble(ImGui_Context ctx, string label, number v, number v_speed = 1.0, number v_min = 0.0, number v_max = 0.0, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v) = ImGui_DragDouble(ImGui_Context ctx, str label, float v, float v_speed = 1.0, float v_min = 0.0, float v_max = 0.0, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: DragDouble2
C++bool ImGui::DragDouble2(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v_speedInOptional = 1.0, double* v_minInOptional = 0.0, double* v_maxInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragDouble2(ImGui_Context ctx, "label", &v1, &v2, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragDouble2", ImGui_Context ctx, "label", &v1, &v2, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_DragDouble2(ImGui_Context ctx, string label, number v1, number v2, number v_speed = 1.0, number v_min = 0.0, number v_max = 0.0, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2) = ImGui_DragDouble2(ImGui_Context ctx, str label, float v1, float v2, float v_speed = 1.0, float v_min = 0.0, float v_max = 0.0, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: DragDouble3
C++bool ImGui::DragDouble3(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, double* v_speedInOptional = 1.0, double* v_minInOptional = 0.0, double* v_maxInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragDouble3(ImGui_Context ctx, "label", &v1, &v2, &v3, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragDouble3", ImGui_Context ctx, "label", &v1, &v2, &v3, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_DragDouble3(ImGui_Context ctx, string label, number v1, number v2, number v3, number v_speed = 1.0, number v_min = 0.0, number v_max = 0.0, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2, float v3) = ImGui_DragDouble3(ImGui_Context ctx, str label, float v1, float v2, float v3, float v_speed = 1.0, float v_min = 0.0, float v_max = 0.0, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: DragDouble4
C++bool ImGui::DragDouble4(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, double* v4InOut, double* v_speedInOptional = 1.0, double* v_minInOptional = 0.0, double* v_maxInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragDouble4(ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragDouble4", ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_DragDouble4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, number v_speed = 1.0, number v_min = 0.0, number v_max = 0.0, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2, float v3, float v4) = ImGui_DragDouble4(ImGui_Context ctx, str label, float v1, float v2, float v3, float v4, float v_speed = 1.0, float v_min = 0.0, float v_max = 0.0, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: DragDoubleN
C++bool ImGui::DragDoubleN(ImGui_Context* ctx, const char* label, reaper_array* values, double* speedInOptional = 1.0, double* minInOptional = 0.0, double* maxInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragDoubleN(ImGui_Context ctx, "label", reaper_array values, speed = 1.0, min = 0.0, max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragDoubleN", ImGui_Context ctx, "label", reaper_array values, speed = 1.0, min = 0.0, max = 0.0, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval = reaper.ImGui_DragDoubleN(ImGui_Context ctx, string label, reaper_array values, number speed = 1.0, number min = 0.0, number max = 0.0, string format = "%.3f", number flags = SliderFlags_None)
Pythonbool retval = ImGui_DragDoubleN(ImGui_Context ctx, str label, reaper_array values, float speed = 1.0, float min = 0.0, float max = 0.0, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: DragFloatRange2
C++bool ImGui::DragFloatRange2(ImGui_Context* ctx, const char* label, double* v_current_minInOut, double* v_current_maxInOut, double* v_speedInOptional = 1.0, double* v_minInOptional = 0.0, double* v_maxInOptional = 0.0, const char* formatInOptional = "%.3f", const char* format_maxInOptional = nullptr, int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragFloatRange2(ImGui_Context ctx, "label", &v_current_min, &v_current_max, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", "format_max" = 0, int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragFloatRange2", ImGui_Context ctx, "label", &v_current_min, &v_current_max, v_speed = 1.0, v_min = 0.0, v_max = 0.0, "format" = "%.3f", "format_max" = 0, int flags = SliderFlags_None)
Luaboolean retval, number v_current_min, number v_current_max = reaper.ImGui_DragFloatRange2(ImGui_Context ctx, string label, number v_current_min, number v_current_max, number v_speed = 1.0, number v_min = 0.0, number v_max = 0.0, string format = "%.3f", string format_max = nil, number flags = SliderFlags_None)
Python(bool retval, float v_current_min, float v_current_max) = ImGui_DragFloatRange2(ImGui_Context ctx, str label, float v_current_min, float v_current_max, float v_speed = 1.0, float v_min = 0.0, float v_max = 0.0, str format = "%.3f", str format_max = None, int flags = SliderFlags_None)

View source

Function: DragInt
C++bool ImGui::DragInt(ImGui_Context* ctx, const char* label, int* vInOut, double* v_speedInOptional = 1.0, int* v_minInOptional = 0, int* v_maxInOptional = 0, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragInt(ImGui_Context ctx, "label", int &v, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragInt", ImGui_Context ctx, "label", int &v, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_DragInt(ImGui_Context ctx, string label, number v, number v_speed = 1.0, number v_min = 0, number v_max = 0, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v) = ImGui_DragInt(ImGui_Context ctx, str label, int v, float v_speed = 1.0, int v_min = 0, int v_max = 0, str format = "%d", int flags = SliderFlags_None)

View source

Function: DragInt2
C++bool ImGui::DragInt2(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, double* v_speedInOptional = 1.0, int* v_minInOptional = 0, int* v_maxInOptional = 0, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragInt2(ImGui_Context ctx, "label", int &v1, int &v2, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragInt2", ImGui_Context ctx, "label", int &v1, int &v2, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_DragInt2(ImGui_Context ctx, string label, number v1, number v2, number v_speed = 1.0, number v_min = 0, number v_max = 0, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2) = ImGui_DragInt2(ImGui_Context ctx, str label, int v1, int v2, float v_speed = 1.0, int v_min = 0, int v_max = 0, str format = "%d", int flags = SliderFlags_None)

View source

Function: DragInt3
C++bool ImGui::DragInt3(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, double* v_speedInOptional = 1.0, int* v_minInOptional = 0, int* v_maxInOptional = 0, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragInt3(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragInt3", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_DragInt3(ImGui_Context ctx, string label, number v1, number v2, number v3, number v_speed = 1.0, number v_min = 0, number v_max = 0, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2, int v3) = ImGui_DragInt3(ImGui_Context ctx, str label, int v1, int v2, int v3, float v_speed = 1.0, int v_min = 0, int v_max = 0, str format = "%d", int flags = SliderFlags_None)

View source

Function: DragInt4
C++bool ImGui::DragInt4(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, int* v4InOut, double* v_speedInOptional = 1.0, int* v_minInOptional = 0, int* v_maxInOptional = 0, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragInt4(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragInt4", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_DragInt4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, number v_speed = 1.0, number v_min = 0, number v_max = 0, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2, int v3, int v4) = ImGui_DragInt4(ImGui_Context ctx, str label, int v1, int v2, int v3, int v4, float v_speed = 1.0, int v_min = 0, int v_max = 0, str format = "%d", int flags = SliderFlags_None)

View source

Function: DragIntRange2
C++bool ImGui::DragIntRange2(ImGui_Context* ctx, const char* label, int* v_current_minInOut, int* v_current_maxInOut, double* v_speedInOptional = 1.0, int* v_minInOptional = 0, int* v_maxInOptional = 0, const char* formatInOptional = "%d", const char* format_maxInOptional = nullptr, int* flagsInOptional = SliderFlags_None)
EELbool ImGui_DragIntRange2(ImGui_Context ctx, "label", int &v_current_min, int &v_current_max, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", "format_max" = 0, int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_DragIntRange2", ImGui_Context ctx, "label", int &v_current_min, int &v_current_max, v_speed = 1.0, int v_min = 0, int v_max = 0, "format" = "%d", "format_max" = 0, int flags = SliderFlags_None)
Luaboolean retval, number v_current_min, number v_current_max = reaper.ImGui_DragIntRange2(ImGui_Context ctx, string label, number v_current_min, number v_current_max, number v_speed = 1.0, number v_min = 0, number v_max = 0, string format = "%d", string format_max = nil, number flags = SliderFlags_None)
Python(bool retval, int v_current_min, int v_current_max) = ImGui_DragIntRange2(ImGui_Context ctx, str label, int v_current_min, int v_current_max, float v_speed = 1.0, int v_min = 0, int v_max = 0, str format = "%d", str format_max = None, int flags = SliderFlags_None)

View source

Flags

For DragDouble, DragInt, SliderDouble, SliderInt etc. (Those are per-item flags. There are shared flags in SetConfigVar: ConfigVar_DragClickToInputText

Constant: SliderFlags_AlwaysClamp
C++int ImGui::SliderFlags_AlwaysClamp
EELint ImGui_SliderFlags_AlwaysClamp()
Legacy EELint extension_api("ImGui_SliderFlags_AlwaysClamp")
Luanumber retval = reaper.ImGui_SliderFlags_AlwaysClamp()
Pythonint retval = ImGui_SliderFlags_AlwaysClamp()

Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.

View source

Constant: SliderFlags_Logarithmic
C++int ImGui::SliderFlags_Logarithmic
EELint ImGui_SliderFlags_Logarithmic()
Legacy EELint extension_api("ImGui_SliderFlags_Logarithmic")
Luanumber retval = reaper.ImGui_SliderFlags_Logarithmic()
Pythonint retval = ImGui_SliderFlags_Logarithmic()

Make the widget logarithmic (linear otherwise). Consider using SliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.

View source

Constant: SliderFlags_NoInput
C++int ImGui::SliderFlags_NoInput
EELint ImGui_SliderFlags_NoInput()
Legacy EELint extension_api("ImGui_SliderFlags_NoInput")
Luanumber retval = reaper.ImGui_SliderFlags_NoInput()
Pythonint retval = ImGui_SliderFlags_NoInput()

Disable CTRL+Click or Enter key allowing to input text directly into the widget.

View source

Constant: SliderFlags_NoRoundToFormat
C++int ImGui::SliderFlags_NoRoundToFormat
EELint ImGui_SliderFlags_NoRoundToFormat()
Legacy EELint extension_api("ImGui_SliderFlags_NoRoundToFormat")
Luanumber retval = reaper.ImGui_SliderFlags_NoRoundToFormat()
Pythonint retval = ImGui_SliderFlags_NoRoundToFormat()

Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits).

View source

Constant: SliderFlags_None
C++int ImGui::SliderFlags_None
EELint ImGui_SliderFlags_None()
Legacy EELint extension_api("ImGui_SliderFlags_None")
Luanumber retval = reaper.ImGui_SliderFlags_None()
Pythonint retval = ImGui_SliderFlags_None()

View source

Regular Sliders

Function: SliderAngle
C++bool ImGui::SliderAngle(ImGui_Context* ctx, const char* label, double* v_radInOut, double* v_degrees_minInOptional = -360.0, double* v_degrees_maxInOptional = +360.0, const char* formatInOptional = "%.0f deg", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderAngle(ImGui_Context ctx, "label", &v_rad, v_degrees_min = -360.0, v_degrees_max = +360.0, "format" = "%.0f deg", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderAngle", ImGui_Context ctx, "label", &v_rad, v_degrees_min = -360.0, v_degrees_max = +360.0, "format" = "%.0f deg", int flags = SliderFlags_None)
Luaboolean retval, number v_rad = reaper.ImGui_SliderAngle(ImGui_Context ctx, string label, number v_rad, number v_degrees_min = -360.0, number v_degrees_max = +360.0, string format = "%.0f deg", number flags = SliderFlags_None)
Python(bool retval, float v_rad) = ImGui_SliderAngle(ImGui_Context ctx, str label, float v_rad, float v_degrees_min = -360.0, float v_degrees_max = +360.0, str format = "%.0f deg", int flags = SliderFlags_None)

View source

Function: SliderDouble
C++bool ImGui::SliderDouble(ImGui_Context* ctx, const char* label, double* vInOut, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderDouble(ImGui_Context ctx, "label", &v, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderDouble", ImGui_Context ctx, "label", &v, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_SliderDouble(ImGui_Context ctx, string label, number v, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v) = ImGui_SliderDouble(ImGui_Context ctx, str label, float v, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: SliderDouble2
C++bool ImGui::SliderDouble2(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderDouble2(ImGui_Context ctx, "label", &v1, &v2, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderDouble2", ImGui_Context ctx, "label", &v1, &v2, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_SliderDouble2(ImGui_Context ctx, string label, number v1, number v2, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2) = ImGui_SliderDouble2(ImGui_Context ctx, str label, float v1, float v2, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: SliderDouble3
C++bool ImGui::SliderDouble3(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderDouble3(ImGui_Context ctx, "label", &v1, &v2, &v3, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderDouble3", ImGui_Context ctx, "label", &v1, &v2, &v3, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_SliderDouble3(ImGui_Context ctx, string label, number v1, number v2, number v3, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2, float v3) = ImGui_SliderDouble3(ImGui_Context ctx, str label, float v1, float v2, float v3, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: SliderDouble4
C++bool ImGui::SliderDouble4(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, double* v4InOut, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderDouble4(ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderDouble4", ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_SliderDouble4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v1, float v2, float v3, float v4) = ImGui_SliderDouble4(ImGui_Context ctx, str label, float v1, float v2, float v3, float v4, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: SliderDoubleN
C++bool ImGui::SliderDoubleN(ImGui_Context* ctx, const char* label, reaper_array* values, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderDoubleN(ImGui_Context ctx, "label", reaper_array values, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderDoubleN", ImGui_Context ctx, "label", reaper_array values, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval = reaper.ImGui_SliderDoubleN(ImGui_Context ctx, string label, reaper_array values, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Pythonbool retval = ImGui_SliderDoubleN(ImGui_Context ctx, str label, reaper_array values, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: SliderInt
C++bool ImGui::SliderInt(ImGui_Context* ctx, const char* label, int* vInOut, int v_min, int v_max, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderInt(ImGui_Context ctx, "label", int &v, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderInt", ImGui_Context ctx, "label", int &v, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_SliderInt(ImGui_Context ctx, string label, number v, number v_min, number v_max, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v) = ImGui_SliderInt(ImGui_Context ctx, str label, int v, int v_min, int v_max, str format = "%d", int flags = SliderFlags_None)

View source

Function: SliderInt2
C++bool ImGui::SliderInt2(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int v_min, int v_max, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderInt2(ImGui_Context ctx, "label", int &v1, int &v2, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderInt2", ImGui_Context ctx, "label", int &v1, int &v2, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_SliderInt2(ImGui_Context ctx, string label, number v1, number v2, number v_min, number v_max, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2) = ImGui_SliderInt2(ImGui_Context ctx, str label, int v1, int v2, int v_min, int v_max, str format = "%d", int flags = SliderFlags_None)

View source

Function: SliderInt3
C++bool ImGui::SliderInt3(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, int v_min, int v_max, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderInt3(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderInt3", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_SliderInt3(ImGui_Context ctx, string label, number v1, number v2, number v3, number v_min, number v_max, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2, int v3) = ImGui_SliderInt3(ImGui_Context ctx, str label, int v1, int v2, int v3, int v_min, int v_max, str format = "%d", int flags = SliderFlags_None)

View source

Function: SliderInt4
C++bool ImGui::SliderInt4(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, int* v4InOut, int v_min, int v_max, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_SliderInt4(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_SliderInt4", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_SliderInt4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, number v_min, number v_max, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v1, int v2, int v3, int v4) = ImGui_SliderInt4(ImGui_Context ctx, str label, int v1, int v2, int v3, int v4, int v_min, int v_max, str format = "%d", int flags = SliderFlags_None)

View source

Function: VSliderDouble
C++bool ImGui::VSliderDouble(ImGui_Context* ctx, const char* label, double size_w, double size_h, double* vInOut, double v_min, double v_max, const char* formatInOptional = "%.3f", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_VSliderDouble(ImGui_Context ctx, "label", size_w, size_h, &v, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_VSliderDouble", ImGui_Context ctx, "label", size_w, size_h, &v, v_min, v_max, "format" = "%.3f", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_VSliderDouble(ImGui_Context ctx, string label, number size_w, number size_h, number v, number v_min, number v_max, string format = "%.3f", number flags = SliderFlags_None)
Python(bool retval, float v) = ImGui_VSliderDouble(ImGui_Context ctx, str label, float size_w, float size_h, float v, float v_min, float v_max, str format = "%.3f", int flags = SliderFlags_None)

View source

Function: VSliderInt
C++bool ImGui::VSliderInt(ImGui_Context* ctx, const char* label, double size_w, double size_h, int* vInOut, int v_min, int v_max, const char* formatInOptional = "%d", int* flagsInOptional = SliderFlags_None)
EELbool ImGui_VSliderInt(ImGui_Context ctx, "label", size_w, size_h, int &v, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Legacy EELbool extension_api("ImGui_VSliderInt", ImGui_Context ctx, "label", size_w, size_h, int &v, int v_min, int v_max, "format" = "%d", int flags = SliderFlags_None)
Luaboolean retval, number v = reaper.ImGui_VSliderInt(ImGui_Context ctx, string label, number size_w, number size_h, number v, number v_min, number v_max, string format = "%d", number flags = SliderFlags_None)
Python(bool retval, int v) = ImGui_VSliderInt(ImGui_Context ctx, str label, float size_w, float size_h, int v, int v_min, int v_max, str format = "%d", int flags = SliderFlags_None)

View source


Draw List

This is the low-level list of polygons that ImGui functions are filling. At the end of the frame, all draw lists are passed to the GPU for rendering.

Each dear imgui window contains its own Draw List. You can use GetWindowDrawList() to access the current window draw list and draw custom primitives.

The Draw List API uses absolute coordinates (0,0 is the top-left corner of the primary monitor, not of your window!). See GetCursorScreenPos.

Constant: DrawFlags_Closed
C++int ImGui::DrawFlags_Closed
EELint ImGui_DrawFlags_Closed()
Legacy EELint extension_api("ImGui_DrawFlags_Closed")
Luanumber retval = reaper.ImGui_DrawFlags_Closed()
Pythonint retval = ImGui_DrawFlags_Closed()

DrawList_PathStroke, DrawList_AddPolyline: specify that shape should be closed (Important: this is always == 1 for legacy reason).

View source

Constant: DrawFlags_None
C++int ImGui::DrawFlags_None
EELint ImGui_DrawFlags_None()
Legacy EELint extension_api("ImGui_DrawFlags_None")
Luanumber retval = reaper.ImGui_DrawFlags_None()
Pythonint retval = ImGui_DrawFlags_None()

View source

Constant: DrawFlags_RoundCornersAll
C++int ImGui::DrawFlags_RoundCornersAll
EELint ImGui_DrawFlags_RoundCornersAll()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersAll")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersAll()
Pythonint retval = ImGui_DrawFlags_RoundCornersAll()

View source

Constant: DrawFlags_RoundCornersBottom
C++int ImGui::DrawFlags_RoundCornersBottom
EELint ImGui_DrawFlags_RoundCornersBottom()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersBottom")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersBottom()
Pythonint retval = ImGui_DrawFlags_RoundCornersBottom()

View source

Constant: DrawFlags_RoundCornersBottomLeft
C++int ImGui::DrawFlags_RoundCornersBottomLeft
EELint ImGui_DrawFlags_RoundCornersBottomLeft()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersBottomLeft")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersBottomLeft()
Pythonint retval = ImGui_DrawFlags_RoundCornersBottomLeft()

DrawList_AddRect, DrawList_AddRectFilled, DrawList_PathRect: enable rounding bottom-left corner only (when rounding > 0.0, we default to all corners).

View source

Constant: DrawFlags_RoundCornersBottomRight
C++int ImGui::DrawFlags_RoundCornersBottomRight
EELint ImGui_DrawFlags_RoundCornersBottomRight()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersBottomRight")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersBottomRight()
Pythonint retval = ImGui_DrawFlags_RoundCornersBottomRight()

DrawList_AddRect, DrawList_AddRectFilled, DrawList_PathRect: enable rounding bottom-right corner only (when rounding > 0.0, we default to all corners).

View source

Constant: DrawFlags_RoundCornersLeft
C++int ImGui::DrawFlags_RoundCornersLeft
EELint ImGui_DrawFlags_RoundCornersLeft()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersLeft")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersLeft()
Pythonint retval = ImGui_DrawFlags_RoundCornersLeft()

View source

Constant: DrawFlags_RoundCornersNone
C++int ImGui::DrawFlags_RoundCornersNone
EELint ImGui_DrawFlags_RoundCornersNone()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersNone")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersNone()
Pythonint retval = ImGui_DrawFlags_RoundCornersNone()

DrawList_AddRect, DrawList_AddRectFilled, DrawList_PathRect: disable rounding on all corners (when rounding > 0.0). This is NOT zero, NOT an implicit flag!.

View source

Constant: DrawFlags_RoundCornersRight
C++int ImGui::DrawFlags_RoundCornersRight
EELint ImGui_DrawFlags_RoundCornersRight()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersRight")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersRight()
Pythonint retval = ImGui_DrawFlags_RoundCornersRight()

View source

Constant: DrawFlags_RoundCornersTop
C++int ImGui::DrawFlags_RoundCornersTop
EELint ImGui_DrawFlags_RoundCornersTop()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersTop")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersTop()
Pythonint retval = ImGui_DrawFlags_RoundCornersTop()

View source

Constant: DrawFlags_RoundCornersTopLeft
C++int ImGui::DrawFlags_RoundCornersTopLeft
EELint ImGui_DrawFlags_RoundCornersTopLeft()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersTopLeft")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersTopLeft()
Pythonint retval = ImGui_DrawFlags_RoundCornersTopLeft()

DrawList_AddRect, DrawList_AddRectFilled, DrawList_PathRect: enable rounding top-left corner only (when rounding > 0.0, we default to all corners).

View source

Constant: DrawFlags_RoundCornersTopRight
C++int ImGui::DrawFlags_RoundCornersTopRight
EELint ImGui_DrawFlags_RoundCornersTopRight()
Legacy EELint extension_api("ImGui_DrawFlags_RoundCornersTopRight")
Luanumber retval = reaper.ImGui_DrawFlags_RoundCornersTopRight()
Pythonint retval = ImGui_DrawFlags_RoundCornersTopRight()

DrawList_AddRect, DrawList_AddRectFilled, DrawList_PathRect: enable rounding top-right corner only (when rounding > 0.0, we default to all corners).

View source

Function: DrawList_PopClipRect
C++void ImGui::DrawList_PopClipRect(ImGui_DrawList* draw_list)
EELImGui_DrawList_PopClipRect(ImGui_DrawList draw_list)
Legacy EELextension_api("ImGui_DrawList_PopClipRect", ImGui_DrawList draw_list)
Luareaper.ImGui_DrawList_PopClipRect(ImGui_DrawList draw_list)
PythonImGui_DrawList_PopClipRect(ImGui_DrawList draw_list)

See DrawList_PushClipRect

View source

Function: DrawList_PushClipRect
C++void ImGui::DrawList_PushClipRect(ImGui_DrawList* draw_list, double clip_rect_min_x, double clip_rect_min_y, double clip_rect_max_x, double clip_rect_max_y, bool* intersect_with_current_clip_rectInOptional = false)
EELImGui_DrawList_PushClipRect(ImGui_DrawList draw_list, clip_rect_min_x, clip_rect_min_y, clip_rect_max_x, clip_rect_max_y, bool intersect_with_current_clip_rect = false)
Legacy EELextension_api("ImGui_DrawList_PushClipRect", ImGui_DrawList draw_list, clip_rect_min_x, clip_rect_min_y, clip_rect_max_x, clip_rect_max_y, bool intersect_with_current_clip_rect = false)
Luareaper.ImGui_DrawList_PushClipRect(ImGui_DrawList draw_list, number clip_rect_min_x, number clip_rect_min_y, number clip_rect_max_x, number clip_rect_max_y, boolean intersect_with_current_clip_rect = false)
PythonImGui_DrawList_PushClipRect(ImGui_DrawList draw_list, float clip_rect_min_x, float clip_rect_min_y, float clip_rect_max_x, float clip_rect_max_y, bool intersect_with_current_clip_rect = false)

Render-level scissoring. Prefer using higher-level PushClipRect to affect logic (hit-testing and widget culling).

View source

Function: DrawList_PushClipRectFullScreen
C++void ImGui::DrawList_PushClipRectFullScreen(ImGui_DrawList* draw_list)
EELImGui_DrawList_PushClipRectFullScreen(ImGui_DrawList draw_list)
Legacy EELextension_api("ImGui_DrawList_PushClipRectFullScreen", ImGui_DrawList draw_list)
Luareaper.ImGui_DrawList_PushClipRectFullScreen(ImGui_DrawList draw_list)
PythonImGui_DrawList_PushClipRectFullScreen(ImGui_DrawList draw_list)

View source

Function: GetBackgroundDrawList
C++ImGui_DrawList* ImGui::GetBackgroundDrawList(ImGui_Context* ctx)
EELImGui_DrawList* ImGui_GetBackgroundDrawList(ImGui_Context ctx)
Legacy EELImGui_DrawList* extension_api("ImGui_GetBackgroundDrawList", ImGui_Context ctx)
LuaImGui_DrawList retval = reaper.ImGui_GetBackgroundDrawList(ImGui_Context ctx)
PythonImGui_DrawList retval = ImGui_GetBackgroundDrawList(ImGui_Context ctx)

This draw list will be the first rendering one. Useful to quickly draw shapes/text behind dear imgui contents.

View source

Function: GetForegroundDrawList
C++ImGui_DrawList* ImGui::GetForegroundDrawList(ImGui_Context* ctx)
EELImGui_DrawList* ImGui_GetForegroundDrawList(ImGui_Context ctx)
Legacy EELImGui_DrawList* extension_api("ImGui_GetForegroundDrawList", ImGui_Context ctx)
LuaImGui_DrawList retval = reaper.ImGui_GetForegroundDrawList(ImGui_Context ctx)
PythonImGui_DrawList retval = ImGui_GetForegroundDrawList(ImGui_Context ctx)

This draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.

View source

Function: GetWindowDrawList
C++ImGui_DrawList* ImGui::GetWindowDrawList(ImGui_Context* ctx)
EELImGui_DrawList* ImGui_GetWindowDrawList(ImGui_Context ctx)
Legacy EELImGui_DrawList* extension_api("ImGui_GetWindowDrawList", ImGui_Context ctx)
LuaImGui_DrawList retval = reaper.ImGui_GetWindowDrawList(ImGui_Context ctx)
PythonImGui_DrawList retval = ImGui_GetWindowDrawList(ImGui_Context ctx)

The draw list associated to the current window, to append your own drawing primitives

View source

Primitives

Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have "inward" anti-aliasing.

For rectangular primitives, "p_min" and "p_max" represent the upper-left and lower-right corners.

For circle primitives, use "num_segments == 0" to automatically calculate tessellation (preferred).

Function: DrawList_AddBezierCubic
C++void ImGui::DrawList_AddBezierCubic(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y, int col_rgba, double thickness, int* num_segmentsInOptional = 0)
EELImGui_DrawList_AddBezierCubic(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba, thickness, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_AddBezierCubic", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba, thickness, int num_segments = 0)
Luareaper.ImGui_DrawList_AddBezierCubic(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number p4_x, number p4_y, number col_rgba, number thickness, number num_segments = 0)
PythonImGui_DrawList_AddBezierCubic(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, float p4_x, float p4_y, int col_rgba, float thickness, int num_segments = 0)

Cubic Bezier (4 control points)

View source

Function: DrawList_AddBezierQuadratic
C++void ImGui::DrawList_AddBezierQuadratic(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, int col_rgba, double thickness, int* num_segmentsInOptional = 0)
EELImGui_DrawList_AddBezierQuadratic(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba, thickness, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_AddBezierQuadratic", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba, thickness, int num_segments = 0)
Luareaper.ImGui_DrawList_AddBezierQuadratic(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number col_rgba, number thickness, number num_segments = 0)
PythonImGui_DrawList_AddBezierQuadratic(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, int col_rgba, float thickness, int num_segments = 0)

Quadratic Bezier (3 control points)

View source

Function: DrawList_AddCircle
C++void ImGui::DrawList_AddCircle(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, int col_rgba, int* num_segmentsInOptional = 0, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddCircle(ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments = 0, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddCircle", ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments = 0, thickness = 1.0)
Luareaper.ImGui_DrawList_AddCircle(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number col_rgba, number num_segments = 0, number thickness = 1.0)
PythonImGui_DrawList_AddCircle(ImGui_DrawList draw_list, float center_x, float center_y, float radius, int col_rgba, int num_segments = 0, float thickness = 1.0)

Use "num_segments == 0" to automatically calculate tessellation (preferred).

View source

Function: DrawList_AddCircleFilled
C++void ImGui::DrawList_AddCircleFilled(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, int col_rgba, int* num_segmentsInOptional = 0)
EELImGui_DrawList_AddCircleFilled(ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_AddCircleFilled", ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments = 0)
Luareaper.ImGui_DrawList_AddCircleFilled(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number col_rgba, number num_segments = 0)
PythonImGui_DrawList_AddCircleFilled(ImGui_DrawList draw_list, float center_x, float center_y, float radius, int col_rgba, int num_segments = 0)

Use "num_segments == 0" to automatically calculate tessellation (preferred).

View source

Function: DrawList_AddConvexPolyFilled
C++void ImGui::DrawList_AddConvexPolyFilled(ImGui_DrawList* draw_list, reaper_array* points, int col_rgba)
EELImGui_DrawList_AddConvexPolyFilled(ImGui_DrawList draw_list, reaper_array points, int col_rgba)
Legacy EELextension_api("ImGui_DrawList_AddConvexPolyFilled", ImGui_DrawList draw_list, reaper_array points, int col_rgba)
Luareaper.ImGui_DrawList_AddConvexPolyFilled(ImGui_DrawList draw_list, reaper_array points, number col_rgba)
PythonImGui_DrawList_AddConvexPolyFilled(ImGui_DrawList draw_list, reaper_array points, int col_rgba)

Note: Anti-aliased filling requires points to be in clockwise order.

View source

Function: DrawList_AddImage
C++void ImGui::DrawList_AddImage(ImGui_DrawList* draw_list, ImGui_Image* img, double p_min_x, double p_min_y, double p_max_x, double p_max_y, double* uv_min_xInOptional = 0.0, double* uv_min_yInOptional = 0.0, double* uv_max_xInOptional = 1.0, double* uv_max_yInOptional = 1.0, int* col_rgbaInOptional = 0xFFFFFFFF)
EELImGui_DrawList_AddImage(ImGui_DrawList draw_list, ImGui_Image img, p_min_x, p_min_y, p_max_x, p_max_y, uv_min_x = 0.0, uv_min_y = 0.0, uv_max_x = 1.0, uv_max_y = 1.0, int col_rgba = 0xFFFFFFFF)
Legacy EELextension_api("ImGui_DrawList_AddImage", ImGui_DrawList draw_list, ImGui_Image img, p_min_x, p_min_y, p_max_x, p_max_y, uv_min_x = 0.0, uv_min_y = 0.0, uv_max_x = 1.0, uv_max_y = 1.0, int col_rgba = 0xFFFFFFFF)
Luareaper.ImGui_DrawList_AddImage(ImGui_DrawList draw_list, ImGui_Image img, number p_min_x, number p_min_y, number p_max_x, number p_max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, number col_rgba = 0xFFFFFFFF)
PythonImGui_DrawList_AddImage(ImGui_DrawList draw_list, ImGui_Image img, float p_min_x, float p_min_y, float p_max_x, float p_max_y, float uv_min_x = 0.0, float uv_min_y = 0.0, float uv_max_x = 1.0, float uv_max_y = 1.0, int col_rgba = 0xFFFFFFFF)

View source

Function: DrawList_AddImageQuad
C++void ImGui::DrawList_AddImageQuad(ImGui_DrawList* draw_list, ImGui_Image* img, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y, double* uv1_xInOptional = 0.0, double* uv1_yInOptional = 0.0, double* uv2_xInOptional = 1.0, double* uv2_yInOptional = 0.0, double* uv3_xInOptional = 1.0, double* uv3_yInOptional = 1.0, double* uv4_xInOptional = 0.0, double* uv4_yInOptional = 1.0, int* col_rgbaInOptional = 0xFFFFFFFF)
EELImGui_DrawList_AddImageQuad(ImGui_DrawList draw_list, ImGui_Image img, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, uv1_x = 0.0, uv1_y = 0.0, uv2_x = 1.0, uv2_y = 0.0, uv3_x = 1.0, uv3_y = 1.0, uv4_x = 0.0, uv4_y = 1.0, int col_rgba = 0xFFFFFFFF)
Legacy EELextension_api("ImGui_DrawList_AddImageQuad", ImGui_DrawList draw_list, ImGui_Image img, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, uv1_x = 0.0, uv1_y = 0.0, uv2_x = 1.0, uv2_y = 0.0, uv3_x = 1.0, uv3_y = 1.0, uv4_x = 0.0, uv4_y = 1.0, int col_rgba = 0xFFFFFFFF)
Luareaper.ImGui_DrawList_AddImageQuad(ImGui_DrawList draw_list, ImGui_Image img, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number p4_x, number p4_y, number uv1_x = 0.0, number uv1_y = 0.0, number uv2_x = 1.0, number uv2_y = 0.0, number uv3_x = 1.0, number uv3_y = 1.0, number uv4_x = 0.0, number uv4_y = 1.0, number col_rgba = 0xFFFFFFFF)
PythonImGui_DrawList_AddImageQuad(ImGui_DrawList draw_list, ImGui_Image img, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, float p4_x, float p4_y, float uv1_x = 0.0, float uv1_y = 0.0, float uv2_x = 1.0, float uv2_y = 0.0, float uv3_x = 1.0, float uv3_y = 1.0, float uv4_x = 0.0, float uv4_y = 1.0, int col_rgba = 0xFFFFFFFF)

View source

Function: DrawList_AddImageRounded
C++void ImGui::DrawList_AddImageRounded(ImGui_DrawList* draw_list, ImGui_Image* img, double p_min_x, double p_min_y, double p_max_x, double p_max_y, double uv_min_x, double uv_min_y, double uv_max_x, double uv_max_y, int col_rgba, double rounding, int* flagsInOptional = DrawFlags_None)
EELImGui_DrawList_AddImageRounded(ImGui_DrawList draw_list, ImGui_Image img, p_min_x, p_min_y, p_max_x, p_max_y, uv_min_x, uv_min_y, uv_max_x, uv_max_y, int col_rgba, rounding, int flags = DrawFlags_None)
Legacy EELextension_api("ImGui_DrawList_AddImageRounded", ImGui_DrawList draw_list, ImGui_Image img, p_min_x, p_min_y, p_max_x, p_max_y, uv_min_x, uv_min_y, uv_max_x, uv_max_y, int col_rgba, rounding, int flags = DrawFlags_None)
Luareaper.ImGui_DrawList_AddImageRounded(ImGui_DrawList draw_list, ImGui_Image img, number p_min_x, number p_min_y, number p_max_x, number p_max_y, number uv_min_x, number uv_min_y, number uv_max_x, number uv_max_y, number col_rgba, number rounding, number flags = DrawFlags_None)
PythonImGui_DrawList_AddImageRounded(ImGui_DrawList draw_list, ImGui_Image img, float p_min_x, float p_min_y, float p_max_x, float p_max_y, float uv_min_x, float uv_min_y, float uv_max_x, float uv_max_y, int col_rgba, float rounding, int flags = DrawFlags_None)

View source

Function: DrawList_AddLine
C++void ImGui::DrawList_AddLine(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, int col_rgba, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddLine(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, int col_rgba, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddLine", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, int col_rgba, thickness = 1.0)
Luareaper.ImGui_DrawList_AddLine(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number col_rgba, number thickness = 1.0)
PythonImGui_DrawList_AddLine(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, int col_rgba, float thickness = 1.0)

View source

Function: DrawList_AddNgon
C++void ImGui::DrawList_AddNgon(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, int col_rgba, int num_segments, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddNgon(ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddNgon", ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments, thickness = 1.0)
Luareaper.ImGui_DrawList_AddNgon(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number col_rgba, number num_segments, number thickness = 1.0)
PythonImGui_DrawList_AddNgon(ImGui_DrawList draw_list, float center_x, float center_y, float radius, int col_rgba, int num_segments, float thickness = 1.0)

View source

Function: DrawList_AddNgonFilled
C++void ImGui::DrawList_AddNgonFilled(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, int col_rgba, int num_segments)
EELImGui_DrawList_AddNgonFilled(ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments)
Legacy EELextension_api("ImGui_DrawList_AddNgonFilled", ImGui_DrawList draw_list, center_x, center_y, radius, int col_rgba, int num_segments)
Luareaper.ImGui_DrawList_AddNgonFilled(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number col_rgba, number num_segments)
PythonImGui_DrawList_AddNgonFilled(ImGui_DrawList draw_list, float center_x, float center_y, float radius, int col_rgba, int num_segments)

View source

Function: DrawList_AddPolyline
C++void ImGui::DrawList_AddPolyline(ImGui_DrawList* draw_list, reaper_array* points, int col_rgba, int flags, double thickness)
EELImGui_DrawList_AddPolyline(ImGui_DrawList draw_list, reaper_array points, int col_rgba, int flags, thickness)
Legacy EELextension_api("ImGui_DrawList_AddPolyline", ImGui_DrawList draw_list, reaper_array points, int col_rgba, int flags, thickness)
Luareaper.ImGui_DrawList_AddPolyline(ImGui_DrawList draw_list, reaper_array points, number col_rgba, number flags, number thickness)
PythonImGui_DrawList_AddPolyline(ImGui_DrawList draw_list, reaper_array points, int col_rgba, int flags, float thickness)

Points is a list of x,y coordinates.

View source

Function: DrawList_AddQuad
C++void ImGui::DrawList_AddQuad(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y, int col_rgba, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddQuad(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddQuad", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba, thickness = 1.0)
Luareaper.ImGui_DrawList_AddQuad(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number p4_x, number p4_y, number col_rgba, number thickness = 1.0)
PythonImGui_DrawList_AddQuad(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, float p4_x, float p4_y, int col_rgba, float thickness = 1.0)

View source

Function: DrawList_AddQuadFilled
C++void ImGui::DrawList_AddQuadFilled(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y, int col_rgba)
EELImGui_DrawList_AddQuadFilled(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba)
Legacy EELextension_api("ImGui_DrawList_AddQuadFilled", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int col_rgba)
Luareaper.ImGui_DrawList_AddQuadFilled(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number p4_x, number p4_y, number col_rgba)
PythonImGui_DrawList_AddQuadFilled(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, float p4_x, float p4_y, int col_rgba)

View source

Function: DrawList_AddRect
C++void ImGui::DrawList_AddRect(ImGui_DrawList* draw_list, double p_min_x, double p_min_y, double p_max_x, double p_max_y, int col_rgba, double* roundingInOptional = 0.0, int* flagsInOptional = DrawFlags_None, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddRect(ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_rgba, rounding = 0.0, int flags = DrawFlags_None, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddRect", ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_rgba, rounding = 0.0, int flags = DrawFlags_None, thickness = 1.0)
Luareaper.ImGui_DrawList_AddRect(ImGui_DrawList draw_list, number p_min_x, number p_min_y, number p_max_x, number p_max_y, number col_rgba, number rounding = 0.0, number flags = DrawFlags_None, number thickness = 1.0)
PythonImGui_DrawList_AddRect(ImGui_DrawList draw_list, float p_min_x, float p_min_y, float p_max_x, float p_max_y, int col_rgba, float rounding = 0.0, int flags = DrawFlags_None, float thickness = 1.0)

View source

Function: DrawList_AddRectFilled
C++void ImGui::DrawList_AddRectFilled(ImGui_DrawList* draw_list, double p_min_x, double p_min_y, double p_max_x, double p_max_y, int col_rgba, double* roundingInOptional = 0.0, int* flagsInOptional = DrawFlags_None)
EELImGui_DrawList_AddRectFilled(ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_rgba, rounding = 0.0, int flags = DrawFlags_None)
Legacy EELextension_api("ImGui_DrawList_AddRectFilled", ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_rgba, rounding = 0.0, int flags = DrawFlags_None)
Luareaper.ImGui_DrawList_AddRectFilled(ImGui_DrawList draw_list, number p_min_x, number p_min_y, number p_max_x, number p_max_y, number col_rgba, number rounding = 0.0, number flags = DrawFlags_None)
PythonImGui_DrawList_AddRectFilled(ImGui_DrawList draw_list, float p_min_x, float p_min_y, float p_max_x, float p_max_y, int col_rgba, float rounding = 0.0, int flags = DrawFlags_None)

View source

Function: DrawList_AddRectFilledMultiColor
C++void ImGui::DrawList_AddRectFilledMultiColor(ImGui_DrawList* draw_list, double p_min_x, double p_min_y, double p_max_x, double p_max_y, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)
EELImGui_DrawList_AddRectFilledMultiColor(ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)
Legacy EELextension_api("ImGui_DrawList_AddRectFilledMultiColor", ImGui_DrawList draw_list, p_min_x, p_min_y, p_max_x, p_max_y, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)
Luareaper.ImGui_DrawList_AddRectFilledMultiColor(ImGui_DrawList draw_list, number p_min_x, number p_min_y, number p_max_x, number p_max_y, number col_upr_left, number col_upr_right, number col_bot_right, number col_bot_left)
PythonImGui_DrawList_AddRectFilledMultiColor(ImGui_DrawList draw_list, float p_min_x, float p_min_y, float p_max_x, float p_max_y, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)

View source

Function: DrawList_AddText
C++void ImGui::DrawList_AddText(ImGui_DrawList* draw_list, double x, double y, int col_rgba, const char* text)
EELImGui_DrawList_AddText(ImGui_DrawList draw_list, x, y, int col_rgba, "text")
Legacy EELextension_api("ImGui_DrawList_AddText", ImGui_DrawList draw_list, x, y, int col_rgba, "text")
Luareaper.ImGui_DrawList_AddText(ImGui_DrawList draw_list, number x, number y, number col_rgba, string text)
PythonImGui_DrawList_AddText(ImGui_DrawList draw_list, float x, float y, int col_rgba, str text)

View source

Function: DrawList_AddTextEx
C++void ImGui::DrawList_AddTextEx(ImGui_DrawList* draw_list, ImGui_Font* font, double font_size, double pos_x, double pos_y, int col_rgba, const char* text, double* wrap_widthInOptional = 0.0, double* cpu_fine_clip_rect_xInOptional = nullptr, double* cpu_fine_clip_rect_yInOptional = nullptr, double* cpu_fine_clip_rect_wInOptional = nullptr, double* cpu_fine_clip_rect_hInOptional = nullptr)
EELImGui_DrawList_AddTextEx(ImGui_DrawList draw_list, ImGui_Font font, font_size, pos_x, pos_y, int col_rgba, "text", wrap_width = 0.0, cpu_fine_clip_rect_x = 0, cpu_fine_clip_rect_y = 0, cpu_fine_clip_rect_w = 0, cpu_fine_clip_rect_h = 0)
Legacy EELextension_api("ImGui_DrawList_AddTextEx", ImGui_DrawList draw_list, ImGui_Font font, font_size, pos_x, pos_y, int col_rgba, "text", wrap_width = 0.0, cpu_fine_clip_rect_x = 0, cpu_fine_clip_rect_y = 0, cpu_fine_clip_rect_w = 0, cpu_fine_clip_rect_h = 0)
Luareaper.ImGui_DrawList_AddTextEx(ImGui_DrawList draw_list, ImGui_Font font, number font_size, number pos_x, number pos_y, number col_rgba, string text, number wrap_width = 0.0, number cpu_fine_clip_rect_x = nil, number cpu_fine_clip_rect_y = nil, number cpu_fine_clip_rect_w = nil, number cpu_fine_clip_rect_h = nil)
PythonImGui_DrawList_AddTextEx(ImGui_DrawList draw_list, ImGui_Font font, float font_size, float pos_x, float pos_y, int col_rgba, str text, float wrap_width = 0.0, float cpu_fine_clip_rect_x = None, float cpu_fine_clip_rect_y = None, float cpu_fine_clip_rect_w = None, float cpu_fine_clip_rect_h = None)

The last pushed font is used if font is nil. The size of the last pushed font is used if font_size is 0. cpu_fine_clip_rect_* only takes effect if all four are non-nil.

View source

Function: DrawList_AddTriangle
C++void ImGui::DrawList_AddTriangle(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, int col_rgba, double* thicknessInOptional = 1.0)
EELImGui_DrawList_AddTriangle(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_AddTriangle", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba, thickness = 1.0)
Luareaper.ImGui_DrawList_AddTriangle(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number col_rgba, number thickness = 1.0)
PythonImGui_DrawList_AddTriangle(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, int col_rgba, float thickness = 1.0)

View source

Function: DrawList_AddTriangleFilled
C++void ImGui::DrawList_AddTriangleFilled(ImGui_DrawList* draw_list, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, int col_rgba)
EELImGui_DrawList_AddTriangleFilled(ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba)
Legacy EELextension_api("ImGui_DrawList_AddTriangleFilled", ImGui_DrawList draw_list, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, int col_rgba)
Luareaper.ImGui_DrawList_AddTriangleFilled(ImGui_DrawList draw_list, number p1_x, number p1_y, number p2_x, number p2_y, number p3_x, number p3_y, number col_rgba)
PythonImGui_DrawList_AddTriangleFilled(ImGui_DrawList draw_list, float p1_x, float p1_y, float p2_x, float p2_y, float p3_x, float p3_y, int col_rgba)

View source

Splitter

Split/Merge functions are used to split the draw list into different layers which can be drawn into out of order (e.g. submit FG primitives before BG primitives).

Use to minimize draw calls (e.g. if going back-and-forth between multiple clipping rectangles, prefer to append into separate channels then merge at the end).

Usage:

if not reaper.ImGui_ValidatePtr(splitter, 'ImGui_DrawListSplitter*') then
  splitter = reaper.ImGui_CreateDrawListSplitter(draw_list)
end
reaper.ImGui_DrawListSplitter_Split(splitter, 2)
reaper.ImGui_DrawListSplitter_SetCurrentChannel(splitter, 0)
reaper.ImGui_DrawList_AddRectFilled(draw_list, ...) -- background
reaper.ImGui_DrawListSplitter_SetCurrentChannel(splitter, 1)
reaper.ImGui_DrawList_AddRectFilled(draw_list, ...) -- foreground
reaper.ImGui_DrawListSplitter_SetCurrentChannel(splitter, 0)
reaper.ImGui_DrawList_AddRectFilled(draw_list, ...) -- background
reaper.ImGui_DrawListSplitter_Merge(splitter)
Function: CreateDrawListSplitter
C++ImGui_DrawListSplitter* ImGui::CreateDrawListSplitter(ImGui_DrawList* draw_list)
EELImGui_DrawListSplitter* ImGui_CreateDrawListSplitter(ImGui_DrawList draw_list)
Legacy EELImGui_DrawListSplitter* extension_api("ImGui_CreateDrawListSplitter", ImGui_DrawList draw_list)
LuaImGui_DrawListSplitter retval = reaper.ImGui_CreateDrawListSplitter(ImGui_DrawList draw_list)
PythonImGui_DrawListSplitter retval = ImGui_CreateDrawListSplitter(ImGui_DrawList draw_list)

View source

Function: DrawListSplitter_Clear
C++void ImGui::DrawListSplitter_Clear(ImGui_DrawListSplitter* splitter)
EELImGui_DrawListSplitter_Clear(ImGui_DrawListSplitter splitter)
Legacy EELextension_api("ImGui_DrawListSplitter_Clear", ImGui_DrawListSplitter splitter)
Luareaper.ImGui_DrawListSplitter_Clear(ImGui_DrawListSplitter splitter)
PythonImGui_DrawListSplitter_Clear(ImGui_DrawListSplitter splitter)

View source

Function: DrawListSplitter_Merge
C++void ImGui::DrawListSplitter_Merge(ImGui_DrawListSplitter* splitter)
EELImGui_DrawListSplitter_Merge(ImGui_DrawListSplitter splitter)
Legacy EELextension_api("ImGui_DrawListSplitter_Merge", ImGui_DrawListSplitter splitter)
Luareaper.ImGui_DrawListSplitter_Merge(ImGui_DrawListSplitter splitter)
PythonImGui_DrawListSplitter_Merge(ImGui_DrawListSplitter splitter)

View source

Function: DrawListSplitter_SetCurrentChannel
C++void ImGui::DrawListSplitter_SetCurrentChannel(ImGui_DrawListSplitter* splitter, int channel_idx)
EELImGui_DrawListSplitter_SetCurrentChannel(ImGui_DrawListSplitter splitter, int channel_idx)
Legacy EELextension_api("ImGui_DrawListSplitter_SetCurrentChannel", ImGui_DrawListSplitter splitter, int channel_idx)
Luareaper.ImGui_DrawListSplitter_SetCurrentChannel(ImGui_DrawListSplitter splitter, number channel_idx)
PythonImGui_DrawListSplitter_SetCurrentChannel(ImGui_DrawListSplitter splitter, int channel_idx)

View source

Function: DrawListSplitter_Split
C++void ImGui::DrawListSplitter_Split(ImGui_DrawListSplitter* splitter, int count)
EELImGui_DrawListSplitter_Split(ImGui_DrawListSplitter splitter, int count)
Legacy EELextension_api("ImGui_DrawListSplitter_Split", ImGui_DrawListSplitter splitter, int count)
Luareaper.ImGui_DrawListSplitter_Split(ImGui_DrawListSplitter splitter, number count)
PythonImGui_DrawListSplitter_Split(ImGui_DrawListSplitter splitter, int count)

View source

Stateful Path

Stateful path API, add points then finish with PathFillConvex() or PathStroke().

Function: DrawList_PathArcTo
C++void ImGui::DrawList_PathArcTo(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, double a_min, double a_max, int* num_segmentsInOptional = 0)
EELImGui_DrawList_PathArcTo(ImGui_DrawList draw_list, center_x, center_y, radius, a_min, a_max, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_PathArcTo", ImGui_DrawList draw_list, center_x, center_y, radius, a_min, a_max, int num_segments = 0)
Luareaper.ImGui_DrawList_PathArcTo(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number a_min, number a_max, number num_segments = 0)
PythonImGui_DrawList_PathArcTo(ImGui_DrawList draw_list, float center_x, float center_y, float radius, float a_min, float a_max, int num_segments = 0)

View source

Function: DrawList_PathArcToFast
C++void ImGui::DrawList_PathArcToFast(ImGui_DrawList* draw_list, double center_x, double center_y, double radius, int a_min_of_12, int a_max_of_12)
EELImGui_DrawList_PathArcToFast(ImGui_DrawList draw_list, center_x, center_y, radius, int a_min_of_12, int a_max_of_12)
Legacy EELextension_api("ImGui_DrawList_PathArcToFast", ImGui_DrawList draw_list, center_x, center_y, radius, int a_min_of_12, int a_max_of_12)
Luareaper.ImGui_DrawList_PathArcToFast(ImGui_DrawList draw_list, number center_x, number center_y, number radius, number a_min_of_12, number a_max_of_12)
PythonImGui_DrawList_PathArcToFast(ImGui_DrawList draw_list, float center_x, float center_y, float radius, int a_min_of_12, int a_max_of_12)

Use precomputed angles for a 12 steps circle.

View source

Function: DrawList_PathBezierCubicCurveTo
C++void ImGui::DrawList_PathBezierCubicCurveTo(ImGui_DrawList* draw_list, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y, int* num_segmentsInOptional = 0)
EELImGui_DrawList_PathBezierCubicCurveTo(ImGui_DrawList draw_list, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_PathBezierCubicCurveTo", ImGui_DrawList draw_list, p2_x, p2_y, p3_x, p3_y, p4_x, p4_y, int num_segments = 0)
Luareaper.ImGui_DrawList_PathBezierCubicCurveTo(ImGui_DrawList draw_list, number p2_x, number p2_y, number p3_x, number p3_y, number p4_x, number p4_y, number num_segments = 0)
PythonImGui_DrawList_PathBezierCubicCurveTo(ImGui_DrawList draw_list, float p2_x, float p2_y, float p3_x, float p3_y, float p4_x, float p4_y, int num_segments = 0)

Cubic Bezier (4 control points)

View source

Function: DrawList_PathBezierQuadraticCurveTo
C++void ImGui::DrawList_PathBezierQuadraticCurveTo(ImGui_DrawList* draw_list, double p2_x, double p2_y, double p3_x, double p3_y, int* num_segmentsInOptional = 0)
EELImGui_DrawList_PathBezierQuadraticCurveTo(ImGui_DrawList draw_list, p2_x, p2_y, p3_x, p3_y, int num_segments = 0)
Legacy EELextension_api("ImGui_DrawList_PathBezierQuadraticCurveTo", ImGui_DrawList draw_list, p2_x, p2_y, p3_x, p3_y, int num_segments = 0)
Luareaper.ImGui_DrawList_PathBezierQuadraticCurveTo(ImGui_DrawList draw_list, number p2_x, number p2_y, number p3_x, number p3_y, number num_segments = 0)
PythonImGui_DrawList_PathBezierQuadraticCurveTo(ImGui_DrawList draw_list, float p2_x, float p2_y, float p3_x, float p3_y, int num_segments = 0)

Quadratic Bezier (3 control points)

View source

Function: DrawList_PathClear
C++void ImGui::DrawList_PathClear(ImGui_DrawList* draw_list)
EELImGui_DrawList_PathClear(ImGui_DrawList draw_list)
Legacy EELextension_api("ImGui_DrawList_PathClear", ImGui_DrawList draw_list)
Luareaper.ImGui_DrawList_PathClear(ImGui_DrawList draw_list)
PythonImGui_DrawList_PathClear(ImGui_DrawList draw_list)

View source

Function: DrawList_PathFillConvex
C++void ImGui::DrawList_PathFillConvex(ImGui_DrawList* draw_list, int col_rgba)
EELImGui_DrawList_PathFillConvex(ImGui_DrawList draw_list, int col_rgba)
Legacy EELextension_api("ImGui_DrawList_PathFillConvex", ImGui_DrawList draw_list, int col_rgba)
Luareaper.ImGui_DrawList_PathFillConvex(ImGui_DrawList draw_list, number col_rgba)
PythonImGui_DrawList_PathFillConvex(ImGui_DrawList draw_list, int col_rgba)

Note: Anti-aliased filling requires points to be in clockwise order.

View source

Function: DrawList_PathLineTo
C++void ImGui::DrawList_PathLineTo(ImGui_DrawList* draw_list, double pos_x, double pos_y)
EELImGui_DrawList_PathLineTo(ImGui_DrawList draw_list, pos_x, pos_y)
Legacy EELextension_api("ImGui_DrawList_PathLineTo", ImGui_DrawList draw_list, pos_x, pos_y)
Luareaper.ImGui_DrawList_PathLineTo(ImGui_DrawList draw_list, number pos_x, number pos_y)
PythonImGui_DrawList_PathLineTo(ImGui_DrawList draw_list, float pos_x, float pos_y)

View source

Function: DrawList_PathRect
C++void ImGui::DrawList_PathRect(ImGui_DrawList* draw_list, double rect_min_x, double rect_min_y, double rect_max_x, double rect_max_y, double* roundingInOptional = 0.0, int* flagsInOptional = DrawFlags_None)
EELImGui_DrawList_PathRect(ImGui_DrawList draw_list, rect_min_x, rect_min_y, rect_max_x, rect_max_y, rounding = 0.0, int flags = DrawFlags_None)
Legacy EELextension_api("ImGui_DrawList_PathRect", ImGui_DrawList draw_list, rect_min_x, rect_min_y, rect_max_x, rect_max_y, rounding = 0.0, int flags = DrawFlags_None)
Luareaper.ImGui_DrawList_PathRect(ImGui_DrawList draw_list, number rect_min_x, number rect_min_y, number rect_max_x, number rect_max_y, number rounding = 0.0, number flags = DrawFlags_None)
PythonImGui_DrawList_PathRect(ImGui_DrawList draw_list, float rect_min_x, float rect_min_y, float rect_max_x, float rect_max_y, float rounding = 0.0, int flags = DrawFlags_None)

View source

Function: DrawList_PathStroke
C++void ImGui::DrawList_PathStroke(ImGui_DrawList* draw_list, int col_rgba, int* flagsInOptional = DrawFlags_None, double* thicknessInOptional = 1.0)
EELImGui_DrawList_PathStroke(ImGui_DrawList draw_list, int col_rgba, int flags = DrawFlags_None, thickness = 1.0)
Legacy EELextension_api("ImGui_DrawList_PathStroke", ImGui_DrawList draw_list, int col_rgba, int flags = DrawFlags_None, thickness = 1.0)
Luareaper.ImGui_DrawList_PathStroke(ImGui_DrawList draw_list, number col_rgba, number flags = DrawFlags_None, number thickness = 1.0)
PythonImGui_DrawList_PathStroke(ImGui_DrawList draw_list, int col_rgba, int flags = DrawFlags_None, float thickness = 1.0)

View source


Font

Supports loading fonts from the system by family name or from a file. Glyphs may contain colors in COLR/CPAL format.

This API currently has multiple limitations (v1.0 blockers):

Function: CreateFont
C++ImGui_Font* ImGui::CreateFont(const char* family_or_file, int size, int* flagsInOptional = ReaImGuiFontFlags_None)
EELImGui_Font* ImGui_CreateFont("family_or_file", int size, int flags = ReaImGuiFontFlags_None)
Legacy EELImGui_Font* extension_api("ImGui_CreateFont", "family_or_file", int size, int flags = ReaImGuiFontFlags_None)
LuaImGui_Font retval = reaper.ImGui_CreateFont(string family_or_file, number size, number flags = ReaImGuiFontFlags_None)
PythonImGui_Font retval = ImGui_CreateFont(str family_or_file, int size, int flags = ReaImGuiFontFlags_None)

Load a font matching a font family name or from a font file. The font will remain valid while it's attached to a context. See Attach.

The family name can be an installed font or one of the generic fonts: sans-serif, serif, monospace, cursive, fantasy.

If 'family_or_file' specifies a path to a font file (contains a / or \):

View source

Constant: FontFlags_Bold
C++int ImGui::FontFlags_Bold
EELint ImGui_FontFlags_Bold()
Legacy EELint extension_api("ImGui_FontFlags_Bold")
Luanumber retval = reaper.ImGui_FontFlags_Bold()
Pythonint retval = ImGui_FontFlags_Bold()

View source

Constant: FontFlags_Italic
C++int ImGui::FontFlags_Italic
EELint ImGui_FontFlags_Italic()
Legacy EELint extension_api("ImGui_FontFlags_Italic")
Luanumber retval = reaper.ImGui_FontFlags_Italic()
Pythonint retval = ImGui_FontFlags_Italic()

View source

Constant: FontFlags_None
C++int ImGui::FontFlags_None
EELint ImGui_FontFlags_None()
Legacy EELint extension_api("ImGui_FontFlags_None")
Luanumber retval = reaper.ImGui_FontFlags_None()
Pythonint retval = ImGui_FontFlags_None()

View source

Function: GetFont
C++ImGui_Font* ImGui::GetFont(ImGui_Context* ctx)
EELImGui_Font* ImGui_GetFont(ImGui_Context ctx)
Legacy EELImGui_Font* extension_api("ImGui_GetFont", ImGui_Context ctx)
LuaImGui_Font retval = reaper.ImGui_GetFont(ImGui_Context ctx)
PythonImGui_Font retval = ImGui_GetFont(ImGui_Context ctx)

Get the current font

View source

Function: GetFontSize
C++double ImGui::GetFontSize(ImGui_Context* ctx)
EELdouble ImGui_GetFontSize(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetFontSize", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetFontSize(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetFontSize(ImGui_Context ctx)

Get current font size (= height in pixels) of current font with current scale applied.

View source

Function: PopFont
C++void ImGui::PopFont(ImGui_Context* ctx)
EELImGui_PopFont(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopFont", ImGui_Context ctx)
Luareaper.ImGui_PopFont(ImGui_Context ctx)
PythonImGui_PopFont(ImGui_Context ctx)

See PushFont.

View source

Function: PushFont
C++void ImGui::PushFont(ImGui_Context* ctx, ImGui_Font* font)
EELImGui_PushFont(ImGui_Context ctx, ImGui_Font font)
Legacy EELextension_api("ImGui_PushFont", ImGui_Context ctx, ImGui_Font font)
Luareaper.ImGui_PushFont(ImGui_Context ctx, ImGui_Font font)
PythonImGui_PushFont(ImGui_Context ctx, ImGui_Font font)

Change the current font. Use nil to push the default font. The font object must have been registered using Attach. See PopFont.

View source


Function

Create reusable programs that can passed to and called back from functions such as InputText* and SetNextWindowSizeConstraints.

They can also be used standalone with Function_Execute (eg. faster-than-Lua DSP processing).

Function: CreateFunctionFromEEL
C++ImGui_Function* ImGui::CreateFunctionFromEEL(const char* code)
EELImGui_Function* ImGui_CreateFunctionFromEEL("code")
Legacy EELImGui_Function* extension_api("ImGui_CreateFunctionFromEEL", "code")
LuaImGui_Function retval = reaper.ImGui_CreateFunctionFromEEL(string code)
PythonImGui_Function retval = ImGui_CreateFunctionFromEEL(str code)

Compile an EEL program.

Standard EEL math and string functions are available in addition to callback-specific functions (see InputTextCallback_*).

View source

Function: Function_Execute
C++void ImGui::Function_Execute(ImGui_Function* func)
EELImGui_Function_Execute(ImGui_Function func)
Legacy EELextension_api("ImGui_Function_Execute", ImGui_Function func)
Luareaper.ImGui_Function_Execute(ImGui_Function func)
PythonImGui_Function_Execute(ImGui_Function func)

View source

Function: Function_GetValue
C++double ImGui::Function_GetValue(ImGui_Function* func, const char* name)
EELdouble ImGui_Function_GetValue(ImGui_Function func, "name")
Legacy EELdouble extension_api("ImGui_Function_GetValue", ImGui_Function func, "name")
Luanumber retval = reaper.ImGui_Function_GetValue(ImGui_Function func, string name)
Pythonfloat retval = ImGui_Function_GetValue(ImGui_Function func, str name)

View source

Function: Function_GetValue_Array
C++void ImGui::Function_GetValue_Array(ImGui_Function* func, const char* name, reaper_array* values)
EELImGui_Function_GetValue_Array(ImGui_Function func, "name", reaper_array values)
Legacy EELextension_api("ImGui_Function_GetValue_Array", ImGui_Function func, "name", reaper_array values)
Luareaper.ImGui_Function_GetValue_Array(ImGui_Function func, string name, reaper_array values)
PythonImGui_Function_GetValue_Array(ImGui_Function func, str name, reaper_array values)

Copy the values in the function's memory starting at the address stored in the given variable into the array.

View source

Function: Function_GetValue_String
C++void ImGui::Function_GetValue_String(ImGui_Function* func, const char* name, char* valueOutNeedBig, int valueOutNeedBig_sz)
EELImGui_Function_GetValue_String(ImGui_Function func, "name", #value)
Legacy EELextension_api("ImGui_Function_GetValue_String", ImGui_Function func, "name", #value)
Luastring value = reaper.ImGui_Function_GetValue_String(ImGui_Function func, string name)
Python(str value) = ImGui_Function_GetValue_String(ImGui_Function func, str name)

Read from a string slot or a named string (when name starts with a #).

View source

Function: Function_SetValue
C++void ImGui::Function_SetValue(ImGui_Function* func, const char* name, double value)
EELImGui_Function_SetValue(ImGui_Function func, "name", value)
Legacy EELextension_api("ImGui_Function_SetValue", ImGui_Function func, "name", value)
Luareaper.ImGui_Function_SetValue(ImGui_Function func, string name, number value)
PythonImGui_Function_SetValue(ImGui_Function func, str name, float value)

View source

Function: Function_SetValue_Array
C++void ImGui::Function_SetValue_Array(ImGui_Function* func, const char* name, reaper_array* values)
EELImGui_Function_SetValue_Array(ImGui_Function func, "name", reaper_array values)
Legacy EELextension_api("ImGui_Function_SetValue_Array", ImGui_Function func, "name", reaper_array values)
Luareaper.ImGui_Function_SetValue_Array(ImGui_Function func, string name, reaper_array values)
PythonImGui_Function_SetValue_Array(ImGui_Function func, str name, reaper_array values)

Copy the values in the array to the function's memory at the address stored in the given variable.

View source

Function: Function_SetValue_String
C++void ImGui::Function_SetValue_String(ImGui_Function* func, const char* name, const char* value, int value_sz)
EELImGui_Function_SetValue_String(ImGui_Function func, "name", "value")
Legacy EELextension_api("ImGui_Function_SetValue_String", ImGui_Function func, "name", "value")
Luareaper.ImGui_Function_SetValue_String(ImGui_Function func, string name, string value)
PythonImGui_Function_SetValue_String(ImGui_Function func, str name, str value)

Write to a string slot or a named string (when name starts with a #).

View source


Image

ReaImGui currently supports loading PNG and JPEG bitmap images. Flat vector images may be loaded as fonts, see CreateFont.

UV parameters are texture coordinates in a scale of 0.0 (top/left) to 1.0 (bottom/right). Use values below 0.0 or above 1.0 to tile the image.

There are also image functions in the DrawList API such as DrawList_AddImageQuad and DrawList_AddImageRounded.

Function: CreateImage
C++ImGui_Image* ImGui::CreateImage(const char* file, int* flagsInOptional = nullptr)
EELImGui_Image* ImGui_CreateImage("file", int flags = 0)
Legacy EELImGui_Image* extension_api("ImGui_CreateImage", "file", int flags = 0)
LuaImGui_Image retval = reaper.ImGui_CreateImage(string file, number flags = nil)
PythonImGui_Image retval = ImGui_CreateImage(str file, int flags = None)

The returned object is valid as long as it is used in each defer cycle unless attached to a context (see Attach).

('flags' currently unused and reserved for future expansion)

View source

Function: CreateImageFromMem
C++ImGui_Image* ImGui::CreateImageFromMem(const char* data, int data_sz)
EELImGui_Image* ImGui_CreateImageFromMem("data")
Legacy EELImGui_Image* extension_api("ImGui_CreateImageFromMem", "data")
LuaImGui_Image retval = reaper.ImGui_CreateImageFromMem(string data)
PythonImGui_Image retval = ImGui_CreateImageFromMem(str data)

Requires REAPER v6.44 or newer for EEL and Lua. Load from a file using CreateImage or explicitely specify data_sz if supporting older versions.

View source

Function: Image
C++void ImGui::Image(ImGui_Context* ctx, ImGui_Image* img, double size_w, double size_h, double* uv0_xInOptional = 0.0, double* uv0_yInOptional = 0.0, double* uv1_xInOptional = 1.0, double* uv1_yInOptional = 1.0, int* tint_col_rgbaInOptional = 0xFFFFFFFF, int* border_col_rgbaInOptional = 0x00000000)
EELImGui_Image(ImGui_Context ctx, ImGui_Image img, size_w, size_h, uv0_x = 0.0, uv0_y = 0.0, uv1_x = 1.0, uv1_y = 1.0, int tint_col_rgba = 0xFFFFFFFF, int border_col_rgba = 0x00000000)
Legacy EELextension_api("ImGui_Image", ImGui_Context ctx, ImGui_Image img, size_w, size_h, uv0_x = 0.0, uv0_y = 0.0, uv1_x = 1.0, uv1_y = 1.0, int tint_col_rgba = 0xFFFFFFFF, int border_col_rgba = 0x00000000)
Luareaper.ImGui_Image(ImGui_Context ctx, ImGui_Image img, number size_w, number size_h, number uv0_x = 0.0, number uv0_y = 0.0, number uv1_x = 1.0, number uv1_y = 1.0, number tint_col_rgba = 0xFFFFFFFF, number border_col_rgba = 0x00000000)
PythonImGui_Image(ImGui_Context ctx, ImGui_Image img, float size_w, float size_h, float uv0_x = 0.0, float uv0_y = 0.0, float uv1_x = 1.0, float uv1_y = 1.0, int tint_col_rgba = 0xFFFFFFFF, int border_col_rgba = 0x00000000)

View source

Function: ImageButton
C++bool ImGui::ImageButton(ImGui_Context* ctx, const char* str_id, ImGui_Image* img, double size_w, double size_h, double* uv0_xInOptional = 0.0, double* uv0_yInOptional = 0.0, double* uv1_xInOptional = 1.0, double* uv1_yInOptional = 1.0, int* bg_col_rgbaInOptional = 0x00000000, int* tint_col_rgbaInOptional = 0xFFFFFFFF)
EELbool ImGui_ImageButton(ImGui_Context ctx, "str_id", ImGui_Image img, size_w, size_h, uv0_x = 0.0, uv0_y = 0.0, uv1_x = 1.0, uv1_y = 1.0, int bg_col_rgba = 0x00000000, int tint_col_rgba = 0xFFFFFFFF)
Legacy EELbool extension_api("ImGui_ImageButton", ImGui_Context ctx, "str_id", ImGui_Image img, size_w, size_h, uv0_x = 0.0, uv0_y = 0.0, uv1_x = 1.0, uv1_y = 1.0, int bg_col_rgba = 0x00000000, int tint_col_rgba = 0xFFFFFFFF)
Luaboolean retval = reaper.ImGui_ImageButton(ImGui_Context ctx, string str_id, ImGui_Image img, number size_w, number size_h, number uv0_x = 0.0, number uv0_y = 0.0, number uv1_x = 1.0, number uv1_y = 1.0, number bg_col_rgba = 0x00000000, number tint_col_rgba = 0xFFFFFFFF)
Pythonbool retval = ImGui_ImageButton(ImGui_Context ctx, str str_id, ImGui_Image img, float size_w, float size_h, float uv0_x = 0.0, float uv0_y = 0.0, float uv1_x = 1.0, float uv1_y = 1.0, int bg_col_rgba = 0x00000000, int tint_col_rgba = 0xFFFFFFFF)

View source

Function: Image_GetSize
C++void ImGui::Image_GetSize(ImGui_Image* img, double* wOut, double* hOut)
EELImGui_Image_GetSize(ImGui_Image img, &w, &h)
Legacy EELextension_api("ImGui_Image_GetSize", ImGui_Image img, &w, &h)
Luanumber w, number h = reaper.ImGui_Image_GetSize(ImGui_Image img)
Python(float w, float h) = ImGui_Image_GetSize(ImGui_Image img)

View source

Image Set

Helper to automatically select and scale an image to the DPI scale of the current window upon usage.

ImGui_ImageSet objects can be given to any function that expect an image as parameter.

Usage:

local set = reaper.ImGui_CreateImageSet()
reaper.ImGui_ImageSet_Add(set, 1.0, reaper.ImGui_CreateImage('32x32.png'))
reaper.ImGui_ImageSet_Add(set, 2.0, reaper.ImGui_CreateImage('64x64.png'))

local function frame()
  reaper.ImGui_Image(ctx, set, reaper.ImGui_Image_GetSize(set))
  -- ...
end
Function: CreateImageSet
C++ImGui_ImageSet* ImGui::CreateImageSet()
EELImGui_ImageSet* ImGui_CreateImageSet()
Legacy EELImGui_ImageSet* extension_api("ImGui_CreateImageSet")
LuaImGui_ImageSet retval = reaper.ImGui_CreateImageSet()
PythonImGui_ImageSet retval = ImGui_CreateImageSet()

View source

Function: ImageSet_Add
C++void ImGui::ImageSet_Add(ImGui_ImageSet* set, double scale, ImGui_Image* img)
EELImGui_ImageSet_Add(ImGui_ImageSet set, scale, ImGui_Image img)
Legacy EELextension_api("ImGui_ImageSet_Add", ImGui_ImageSet set, scale, ImGui_Image img)
Luareaper.ImGui_ImageSet_Add(ImGui_ImageSet set, number scale, ImGui_Image img)
PythonImGui_ImageSet_Add(ImGui_ImageSet set, float scale, ImGui_Image img)

'img' cannot be another ImageSet.

View source


Item & Status

Function: BeginDisabled
C++void ImGui::BeginDisabled(ImGui_Context* ctx, bool* disabledInOptional = true)
EELImGui_BeginDisabled(ImGui_Context ctx, bool disabled = true)
Legacy EELextension_api("ImGui_BeginDisabled", ImGui_Context ctx, bool disabled = true)
Luareaper.ImGui_BeginDisabled(ImGui_Context ctx, boolean disabled = true)
PythonImGui_BeginDisabled(ImGui_Context ctx, bool disabled = true)

Disable all user interactions and dim items visuals (applying StyleVar_DisabledAlpha over current colors).

BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(false)/EndDisabled() best to avoid it.

View source

Function: EndDisabled
C++void ImGui::EndDisabled(ImGui_Context* ctx)
EELImGui_EndDisabled(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndDisabled", ImGui_Context ctx)
Luareaper.ImGui_EndDisabled(ImGui_Context ctx)
PythonImGui_EndDisabled(ImGui_Context ctx)

See BeginDisabled.

View source

Function: SetItemAllowOverlap
C++void ImGui::SetItemAllowOverlap(ImGui_Context* ctx)
EELImGui_SetItemAllowOverlap(ImGui_Context ctx)
Legacy EELextension_api("ImGui_SetItemAllowOverlap", ImGui_Context ctx)
Luareaper.ImGui_SetItemAllowOverlap(ImGui_Context ctx)
PythonImGui_SetItemAllowOverlap(ImGui_Context ctx)

Allow last item to be overlapped by a subsequent item. sometimes useful with invisible buttons, selectables, etc. to catch unused area.

View source

Dimensions

Function: CalcItemWidth
C++double ImGui::CalcItemWidth(ImGui_Context* ctx)
EELdouble ImGui_CalcItemWidth(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_CalcItemWidth", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_CalcItemWidth(ImGui_Context ctx)
Pythonfloat retval = ImGui_CalcItemWidth(ImGui_Context ctx)

Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.

View source

Function: GetItemRectMax
C++void ImGui::GetItemRectMax(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetItemRectMax(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetItemRectMax", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetItemRectMax(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetItemRectMax(ImGui_Context ctx)

Get lower-right bounding rectangle of the last item (screen space)

View source

Function: GetItemRectMin
C++void ImGui::GetItemRectMin(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetItemRectMin(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetItemRectMin", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetItemRectMin(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetItemRectMin(ImGui_Context ctx)

Get upper-left bounding rectangle of the last item (screen space)

View source

Function: GetItemRectSize
C++void ImGui::GetItemRectSize(ImGui_Context* ctx, double* wOut, double* hOut)
EELImGui_GetItemRectSize(ImGui_Context ctx, &w, &h)
Legacy EELextension_api("ImGui_GetItemRectSize", ImGui_Context ctx, &w, &h)
Luanumber w, number h = reaper.ImGui_GetItemRectSize(ImGui_Context ctx)
Python(float w, float h) = ImGui_GetItemRectSize(ImGui_Context ctx)

Get size of last item

View source

Function: PopItemWidth
C++void ImGui::PopItemWidth(ImGui_Context* ctx)
EELImGui_PopItemWidth(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopItemWidth", ImGui_Context ctx)
Luareaper.ImGui_PopItemWidth(ImGui_Context ctx)
PythonImGui_PopItemWidth(ImGui_Context ctx)

See PushItemWidth

View source

Function: PushItemWidth
C++void ImGui::PushItemWidth(ImGui_Context* ctx, double item_width)
EELImGui_PushItemWidth(ImGui_Context ctx, item_width)
Legacy EELextension_api("ImGui_PushItemWidth", ImGui_Context ctx, item_width)
Luareaper.ImGui_PushItemWidth(ImGui_Context ctx, number item_width)
PythonImGui_PushItemWidth(ImGui_Context ctx, float item_width)

Push width of items for common large "item+label" widgets.

View source

Function: SetNextItemWidth
C++void ImGui::SetNextItemWidth(ImGui_Context* ctx, double item_width)
EELImGui_SetNextItemWidth(ImGui_Context ctx, item_width)
Legacy EELextension_api("ImGui_SetNextItemWidth", ImGui_Context ctx, item_width)
Luareaper.ImGui_SetNextItemWidth(ImGui_Context ctx, number item_width)
PythonImGui_SetNextItemWidth(ImGui_Context ctx, float item_width)

Set width of the next common large "item+label" widget.

View source

Focus & Activation

Prefer using "SetItemDefaultFocus()" over "if(IsWindowAppearing()) SetScrollHereY()" when applicable to signify "this is the default item".

Function: PopTabStop
C++void ImGui::PopTabStop(ImGui_Context* ctx)
EELImGui_PopTabStop(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopTabStop", ImGui_Context ctx)
Luareaper.ImGui_PopTabStop(ImGui_Context ctx)
PythonImGui_PopTabStop(ImGui_Context ctx)

See PushTabStop

View source

Function: PushTabStop
C++void ImGui::PushTabStop(ImGui_Context* ctx, bool tab_stop)
EELImGui_PushTabStop(ImGui_Context ctx, bool tab_stop)
Legacy EELextension_api("ImGui_PushTabStop", ImGui_Context ctx, bool tab_stop)
Luareaper.ImGui_PushTabStop(ImGui_Context ctx, boolean tab_stop)
PythonImGui_PushTabStop(ImGui_Context ctx, bool tab_stop)

Allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets

View source

Function: SetItemDefaultFocus
C++void ImGui::SetItemDefaultFocus(ImGui_Context* ctx)
EELImGui_SetItemDefaultFocus(ImGui_Context ctx)
Legacy EELextension_api("ImGui_SetItemDefaultFocus", ImGui_Context ctx)
Luareaper.ImGui_SetItemDefaultFocus(ImGui_Context ctx)
PythonImGui_SetItemDefaultFocus(ImGui_Context ctx)

Make last item the default focused item of a window.

View source

Function: SetKeyboardFocusHere
C++void ImGui::SetKeyboardFocusHere(ImGui_Context* ctx, int* offsetInOptional = 0)
EELImGui_SetKeyboardFocusHere(ImGui_Context ctx, int offset = 0)
Legacy EELextension_api("ImGui_SetKeyboardFocusHere", ImGui_Context ctx, int offset = 0)
Luareaper.ImGui_SetKeyboardFocusHere(ImGui_Context ctx, number offset = 0)
PythonImGui_SetKeyboardFocusHere(ImGui_Context ctx, int offset = 0)

Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.

View source

Hovered Flags

For IsItemHovered(), IsWindowHovered() etc.

Constant: HoveredFlags_AllowWhenBlockedByActiveItem
C++int ImGui::HoveredFlags_AllowWhenBlockedByActiveItem
EELint ImGui_HoveredFlags_AllowWhenBlockedByActiveItem()
Legacy EELint extension_api("ImGui_HoveredFlags_AllowWhenBlockedByActiveItem")
Luanumber retval = reaper.ImGui_HoveredFlags_AllowWhenBlockedByActiveItem()
Pythonint retval = ImGui_HoveredFlags_AllowWhenBlockedByActiveItem()

Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.

View source

Constant: HoveredFlags_AllowWhenBlockedByPopup
C++int ImGui::HoveredFlags_AllowWhenBlockedByPopup
EELint ImGui_HoveredFlags_AllowWhenBlockedByPopup()
Legacy EELint extension_api("ImGui_HoveredFlags_AllowWhenBlockedByPopup")
Luanumber retval = reaper.ImGui_HoveredFlags_AllowWhenBlockedByPopup()
Pythonint retval = ImGui_HoveredFlags_AllowWhenBlockedByPopup()

Return true even if a popup window is normally blocking access to this item/window.

View source

Constant: HoveredFlags_DelayNormal
C++int ImGui::HoveredFlags_DelayNormal
EELint ImGui_HoveredFlags_DelayNormal()
Legacy EELint extension_api("ImGui_HoveredFlags_DelayNormal")
Luanumber retval = reaper.ImGui_HoveredFlags_DelayNormal()
Pythonint retval = ImGui_HoveredFlags_DelayNormal()

Return true after ConfigVar_HoverDelayNormal elapsed (~0.30 sec)

View source

Constant: HoveredFlags_DelayShort
C++int ImGui::HoveredFlags_DelayShort
EELint ImGui_HoveredFlags_DelayShort()
Legacy EELint extension_api("ImGui_HoveredFlags_DelayShort")
Luanumber retval = reaper.ImGui_HoveredFlags_DelayShort()
Pythonint retval = ImGui_HoveredFlags_DelayShort()

Return true after ConfigVar_HoverDelayShort elapsed (~0.10 sec)

View source

Constant: HoveredFlags_NoNavOverride
C++int ImGui::HoveredFlags_NoNavOverride
EELint ImGui_HoveredFlags_NoNavOverride()
Legacy EELint extension_api("ImGui_HoveredFlags_NoNavOverride")
Luanumber retval = reaper.ImGui_HoveredFlags_NoNavOverride()
Pythonint retval = ImGui_HoveredFlags_NoNavOverride()

Disable using gamepad/keyboard navigation state when active, always query mouse.

View source

Constant: HoveredFlags_NoSharedDelay
C++int ImGui::HoveredFlags_NoSharedDelay
EELint ImGui_HoveredFlags_NoSharedDelay()
Legacy EELint extension_api("ImGui_HoveredFlags_NoSharedDelay")
Luanumber retval = reaper.ImGui_HoveredFlags_NoSharedDelay()
Pythonint retval = ImGui_HoveredFlags_NoSharedDelay()

Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays

View source

Constant: HoveredFlags_None
C++int ImGui::HoveredFlags_None
EELint ImGui_HoveredFlags_None()
Legacy EELint extension_api("ImGui_HoveredFlags_None")
Luanumber retval = reaper.ImGui_HoveredFlags_None()
Pythonint retval = ImGui_HoveredFlags_None()

Return true if directly over the item/window, not obstructed by another window, not obstructed by an active popup or modal blocking inputs under them.

View source

IsItemHovered only

Constant: HoveredFlags_AllowWhenDisabled
C++int ImGui::HoveredFlags_AllowWhenDisabled
EELint ImGui_HoveredFlags_AllowWhenDisabled()
Legacy EELint extension_api("ImGui_HoveredFlags_AllowWhenDisabled")
Luanumber retval = reaper.ImGui_HoveredFlags_AllowWhenDisabled()
Pythonint retval = ImGui_HoveredFlags_AllowWhenDisabled()

IsItemHovered only: Return true even if the item is disabled.

View source

Constant: HoveredFlags_AllowWhenOverlapped
C++int ImGui::HoveredFlags_AllowWhenOverlapped
EELint ImGui_HoveredFlags_AllowWhenOverlapped()
Legacy EELint extension_api("ImGui_HoveredFlags_AllowWhenOverlapped")
Luanumber retval = reaper.ImGui_HoveredFlags_AllowWhenOverlapped()
Pythonint retval = ImGui_HoveredFlags_AllowWhenOverlapped()

IsItemHovered only: Return true even if the position is obstructed or overlapped by another window.

View source

Constant: HoveredFlags_RectOnly
C++int ImGui::HoveredFlags_RectOnly
EELint ImGui_HoveredFlags_RectOnly()
Legacy EELint extension_api("ImGui_HoveredFlags_RectOnly")
Luanumber retval = reaper.ImGui_HoveredFlags_RectOnly()
Pythonint retval = ImGui_HoveredFlags_RectOnly()

HoveredFlags_AllowWhenBlockedByPopup | HoveredFlags_AllowWhenBlockedByActiveItem | HoveredFlags_AllowWhenOverlapped

View source

IsWindowHovered only

Constant: HoveredFlags_AnyWindow
C++int ImGui::HoveredFlags_AnyWindow
EELint ImGui_HoveredFlags_AnyWindow()
Legacy EELint extension_api("ImGui_HoveredFlags_AnyWindow")
Luanumber retval = reaper.ImGui_HoveredFlags_AnyWindow()
Pythonint retval = ImGui_HoveredFlags_AnyWindow()

IsWindowHovered only: Return true if any window is hovered.

View source

Constant: HoveredFlags_ChildWindows
C++int ImGui::HoveredFlags_ChildWindows
EELint ImGui_HoveredFlags_ChildWindows()
Legacy EELint extension_api("ImGui_HoveredFlags_ChildWindows")
Luanumber retval = reaper.ImGui_HoveredFlags_ChildWindows()
Pythonint retval = ImGui_HoveredFlags_ChildWindows()

IsWindowHovered only: Return true if any children of the window is hovered.

View source

Constant: HoveredFlags_DockHierarchy
C++int ImGui::HoveredFlags_DockHierarchy
EELint ImGui_HoveredFlags_DockHierarchy()
Legacy EELint extension_api("ImGui_HoveredFlags_DockHierarchy")
Luanumber retval = reaper.ImGui_HoveredFlags_DockHierarchy()
Pythonint retval = ImGui_HoveredFlags_DockHierarchy()

IsWindowHovered only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow).

View source

Constant: HoveredFlags_NoPopupHierarchy
C++int ImGui::HoveredFlags_NoPopupHierarchy
EELint ImGui_HoveredFlags_NoPopupHierarchy()
Legacy EELint extension_api("ImGui_HoveredFlags_NoPopupHierarchy")
Luanumber retval = reaper.ImGui_HoveredFlags_NoPopupHierarchy()
Pythonint retval = ImGui_HoveredFlags_NoPopupHierarchy()

IsWindowHovered only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow).

View source

Constant: HoveredFlags_RootAndChildWindows
C++int ImGui::HoveredFlags_RootAndChildWindows
EELint ImGui_HoveredFlags_RootAndChildWindows()
Legacy EELint extension_api("ImGui_HoveredFlags_RootAndChildWindows")
Luanumber retval = reaper.ImGui_HoveredFlags_RootAndChildWindows()
Pythonint retval = ImGui_HoveredFlags_RootAndChildWindows()

HoveredFlags_RootWindow | HoveredFlags_ChildWindows

View source

Constant: HoveredFlags_RootWindow
C++int ImGui::HoveredFlags_RootWindow
EELint ImGui_HoveredFlags_RootWindow()
Legacy EELint extension_api("ImGui_HoveredFlags_RootWindow")
Luanumber retval = reaper.ImGui_HoveredFlags_RootWindow()
Pythonint retval = ImGui_HoveredFlags_RootWindow()

IsWindowHovered only: Test from root window (top most parent of the current hierarchy).

View source

Item/Widgets Utilities and Query Functions

Most of the functions are referring to the previous Item that has been submitted.

See Demo Window under "Widgets->Querying Item Status" for an interactive visualization of most of those functions.

Function: IsAnyItemActive
C++bool ImGui::IsAnyItemActive(ImGui_Context* ctx)
EELbool ImGui_IsAnyItemActive(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsAnyItemActive", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsAnyItemActive(ImGui_Context ctx)
Pythonbool retval = ImGui_IsAnyItemActive(ImGui_Context ctx)

View source

Function: IsAnyItemFocused
C++bool ImGui::IsAnyItemFocused(ImGui_Context* ctx)
EELbool ImGui_IsAnyItemFocused(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsAnyItemFocused", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsAnyItemFocused(ImGui_Context ctx)
Pythonbool retval = ImGui_IsAnyItemFocused(ImGui_Context ctx)

View source

Function: IsAnyItemHovered
C++bool ImGui::IsAnyItemHovered(ImGui_Context* ctx)
EELbool ImGui_IsAnyItemHovered(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsAnyItemHovered", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsAnyItemHovered(ImGui_Context ctx)
Pythonbool retval = ImGui_IsAnyItemHovered(ImGui_Context ctx)

View source

Function: IsItemActivated
C++bool ImGui::IsItemActivated(ImGui_Context* ctx)
EELbool ImGui_IsItemActivated(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemActivated", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemActivated(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemActivated(ImGui_Context ctx)

Was the last item just made active (item was previously inactive).

View source

Function: IsItemActive
C++bool ImGui::IsItemActive(ImGui_Context* ctx)
EELbool ImGui_IsItemActive(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemActive", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemActive(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemActive(ImGui_Context ctx)

Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false.

View source

Function: IsItemClicked
C++bool ImGui::IsItemClicked(ImGui_Context* ctx, int* mouse_buttonInOptional = MouseButton_Left)
EELbool ImGui_IsItemClicked(ImGui_Context ctx, int mouse_button = MouseButton_Left)
Legacy EELbool extension_api("ImGui_IsItemClicked", ImGui_Context ctx, int mouse_button = MouseButton_Left)
Luaboolean retval = reaper.ImGui_IsItemClicked(ImGui_Context ctx, number mouse_button = MouseButton_Left)
Pythonbool retval = ImGui_IsItemClicked(ImGui_Context ctx, int mouse_button = MouseButton_Left)

Is the last item clicked? (e.g. button/node just clicked on) == IsMouseClicked(mouse_button) && IsItemHovered().

This is NOT equivalent to the behavior of e.g. Button. Most widgets have specific reactions based on mouse-up/down state, mouse position etc.

View source

Function: IsItemDeactivated
C++bool ImGui::IsItemDeactivated(ImGui_Context* ctx)
EELbool ImGui_IsItemDeactivated(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemDeactivated", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemDeactivated(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemDeactivated(ImGui_Context ctx)

Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that require continuous editing.

View source

Function: IsItemDeactivatedAfterEdit
C++bool ImGui::IsItemDeactivatedAfterEdit(ImGui_Context* ctx)
EELbool ImGui_IsItemDeactivatedAfterEdit(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemDeactivatedAfterEdit", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemDeactivatedAfterEdit(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemDeactivatedAfterEdit(ImGui_Context ctx)

Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved).

Useful for Undo/Redo patterns with widgets that require continuous editing. Note that you may get false positives (some widgets such as Combo/ListBox/Selectable will return true even when clicking an already selected item).

View source

Function: IsItemEdited
C++bool ImGui::IsItemEdited(ImGui_Context* ctx)
EELbool ImGui_IsItemEdited(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemEdited", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemEdited(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemEdited(ImGui_Context ctx)

Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the "bool" return value of many widgets.

View source

Function: IsItemFocused
C++bool ImGui::IsItemFocused(ImGui_Context* ctx)
EELbool ImGui_IsItemFocused(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemFocused", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemFocused(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemFocused(ImGui_Context ctx)

Is the last item focused for keyboard/gamepad navigation?

View source

Function: IsItemHovered
C++bool ImGui::IsItemHovered(ImGui_Context* ctx, int* flagsInOptional = HoveredFlags_None)
EELbool ImGui_IsItemHovered(ImGui_Context ctx, int flags = HoveredFlags_None)
Legacy EELbool extension_api("ImGui_IsItemHovered", ImGui_Context ctx, int flags = HoveredFlags_None)
Luaboolean retval = reaper.ImGui_IsItemHovered(ImGui_Context ctx, number flags = HoveredFlags_None)
Pythonbool retval = ImGui_IsItemHovered(ImGui_Context ctx, int flags = HoveredFlags_None)

Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See HoveredFlags_* for more options.

View source

Function: IsItemVisible
C++bool ImGui::IsItemVisible(ImGui_Context* ctx)
EELbool ImGui_IsItemVisible(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemVisible", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemVisible(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemVisible(ImGui_Context ctx)

Is the last item visible? (items may be out of sight because of clipping/scrolling)

View source


Keyboard & Mouse

Keyboard

Function: GetInputQueueCharacter
C++bool ImGui::GetInputQueueCharacter(ImGui_Context* ctx, int idx, int* unicode_charOut)
EELbool ImGui_GetInputQueueCharacter(ImGui_Context ctx, int idx, int &unicode_char)
Legacy EELbool extension_api("ImGui_GetInputQueueCharacter", ImGui_Context ctx, int idx, int &unicode_char)
Luaboolean retval, number unicode_char = reaper.ImGui_GetInputQueueCharacter(ImGui_Context ctx, number idx)
Python(bool retval, int unicode_char) = ImGui_GetInputQueueCharacter(ImGui_Context ctx, int idx)

Read from ImGui's character input queue. Call with increasing idx until false is returned.

View source

Function: GetKeyDownDuration
C++double ImGui::GetKeyDownDuration(ImGui_Context* ctx, int key)
EELdouble ImGui_GetKeyDownDuration(ImGui_Context ctx, int key)
Legacy EELdouble extension_api("ImGui_GetKeyDownDuration", ImGui_Context ctx, int key)
Luanumber retval = reaper.ImGui_GetKeyDownDuration(ImGui_Context ctx, number key)
Pythonfloat retval = ImGui_GetKeyDownDuration(ImGui_Context ctx, int key)

Duration the keyboard key has been down (0.0 == just pressed)

View source

Function: GetKeyMods
C++int ImGui::GetKeyMods(ImGui_Context* ctx)
EELint ImGui_GetKeyMods(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_GetKeyMods", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetKeyMods(ImGui_Context ctx)
Pythonint retval = ImGui_GetKeyMods(ImGui_Context ctx)

Flags for the Ctrl/Shift/Alt/Super keys. Uses Mod_* values.

View source

Function: GetKeyPressedAmount
C++int ImGui::GetKeyPressedAmount(ImGui_Context* ctx, int key, double repeat_delay, double rate)
EELint ImGui_GetKeyPressedAmount(ImGui_Context ctx, int key, repeat_delay, rate)
Legacy EELint extension_api("ImGui_GetKeyPressedAmount", ImGui_Context ctx, int key, repeat_delay, rate)
Luanumber retval = reaper.ImGui_GetKeyPressedAmount(ImGui_Context ctx, number key, number repeat_delay, number rate)
Pythonint retval = ImGui_GetKeyPressedAmount(ImGui_Context ctx, int key, float repeat_delay, float rate)

Uses provided repeat rate/delay. Return a count, most often 0 or 1 but might be >1 if ConfigVar_RepeatRate is small enough that GetDeltaTime > RepeatRate.

View source

Function: IsKeyDown
C++bool ImGui::IsKeyDown(ImGui_Context* ctx, int key)
EELbool ImGui_IsKeyDown(ImGui_Context ctx, int key)
Legacy EELbool extension_api("ImGui_IsKeyDown", ImGui_Context ctx, int key)
Luaboolean retval = reaper.ImGui_IsKeyDown(ImGui_Context ctx, number key)
Pythonbool retval = ImGui_IsKeyDown(ImGui_Context ctx, int key)

Is key being held.

View source

Function: IsKeyPressed
C++bool ImGui::IsKeyPressed(ImGui_Context* ctx, int key, bool* repeatInOptional = true)
EELbool ImGui_IsKeyPressed(ImGui_Context ctx, int key, bool repeat = true)
Legacy EELbool extension_api("ImGui_IsKeyPressed", ImGui_Context ctx, int key, bool repeat = true)
Luaboolean retval = reaper.ImGui_IsKeyPressed(ImGui_Context ctx, number key, boolean repeat = true)
Pythonbool retval = ImGui_IsKeyPressed(ImGui_Context ctx, int key, bool repeat = true)

Was key pressed (went from !Down to Down)? If repeat=true, uses ConfigVar_KeyRepeatDelay / ConfigVar_KeyRepeatRate.

View source

Function: IsKeyReleased
C++bool ImGui::IsKeyReleased(ImGui_Context* ctx, int key)
EELbool ImGui_IsKeyReleased(ImGui_Context ctx, int key)
Legacy EELbool extension_api("ImGui_IsKeyReleased", ImGui_Context ctx, int key)
Luaboolean retval = reaper.ImGui_IsKeyReleased(ImGui_Context ctx, number key)
Pythonbool retval = ImGui_IsKeyReleased(ImGui_Context ctx, int key)

Was key released (went from Down to !Down)?

View source

Function: SetNextFrameWantCaptureKeyboard
C++void ImGui::SetNextFrameWantCaptureKeyboard(ImGui_Context* ctx, bool want_capture_keyboard)
EELImGui_SetNextFrameWantCaptureKeyboard(ImGui_Context ctx, bool want_capture_keyboard)
Legacy EELextension_api("ImGui_SetNextFrameWantCaptureKeyboard", ImGui_Context ctx, bool want_capture_keyboard)
Luareaper.ImGui_SetNextFrameWantCaptureKeyboard(ImGui_Context ctx, boolean want_capture_keyboard)
PythonImGui_SetNextFrameWantCaptureKeyboard(ImGui_Context ctx, bool want_capture_keyboard)

Request capture of keyboard shortcuts in REAPER's global scope for the next frame.

View source

Named Keys

Keyboard
Constant: Key_0
C++int ImGui::Key_0
EELint ImGui_Key_0()
Legacy EELint extension_api("ImGui_Key_0")
Luanumber retval = reaper.ImGui_Key_0()
Pythonint retval = ImGui_Key_0()

View source

Constant: Key_1
C++int ImGui::Key_1
EELint ImGui_Key_1()
Legacy EELint extension_api("ImGui_Key_1")
Luanumber retval = reaper.ImGui_Key_1()
Pythonint retval = ImGui_Key_1()

View source

Constant: Key_2
C++int ImGui::Key_2
EELint ImGui_Key_2()
Legacy EELint extension_api("ImGui_Key_2")
Luanumber retval = reaper.ImGui_Key_2()
Pythonint retval = ImGui_Key_2()

View source

Constant: Key_3
C++int ImGui::Key_3
EELint ImGui_Key_3()
Legacy EELint extension_api("ImGui_Key_3")
Luanumber retval = reaper.ImGui_Key_3()
Pythonint retval = ImGui_Key_3()

View source

Constant: Key_4
C++int ImGui::Key_4
EELint ImGui_Key_4()
Legacy EELint extension_api("ImGui_Key_4")
Luanumber retval = reaper.ImGui_Key_4()
Pythonint retval = ImGui_Key_4()

View source

Constant: Key_5
C++int ImGui::Key_5
EELint ImGui_Key_5()
Legacy EELint extension_api("ImGui_Key_5")
Luanumber retval = reaper.ImGui_Key_5()
Pythonint retval = ImGui_Key_5()

View source

Constant: Key_6
C++int ImGui::Key_6
EELint ImGui_Key_6()
Legacy EELint extension_api("ImGui_Key_6")
Luanumber retval = reaper.ImGui_Key_6()
Pythonint retval = ImGui_Key_6()

View source

Constant: Key_7
C++int ImGui::Key_7
EELint ImGui_Key_7()
Legacy EELint extension_api("ImGui_Key_7")
Luanumber retval = reaper.ImGui_Key_7()
Pythonint retval = ImGui_Key_7()

View source

Constant: Key_8
C++int ImGui::Key_8
EELint ImGui_Key_8()
Legacy EELint extension_api("ImGui_Key_8")
Luanumber retval = reaper.ImGui_Key_8()
Pythonint retval = ImGui_Key_8()

View source

Constant: Key_9
C++int ImGui::Key_9
EELint ImGui_Key_9()
Legacy EELint extension_api("ImGui_Key_9")
Luanumber retval = reaper.ImGui_Key_9()
Pythonint retval = ImGui_Key_9()

View source

Constant: Key_A
C++int ImGui::Key_A
EELint ImGui_Key_A()
Legacy EELint extension_api("ImGui_Key_A")
Luanumber retval = reaper.ImGui_Key_A()
Pythonint retval = ImGui_Key_A()

View source

Constant: Key_Apostrophe
C++int ImGui::Key_Apostrophe
EELint ImGui_Key_Apostrophe()
Legacy EELint extension_api("ImGui_Key_Apostrophe")
Luanumber retval = reaper.ImGui_Key_Apostrophe()
Pythonint retval = ImGui_Key_Apostrophe()

'

View source

Constant: Key_B
C++int ImGui::Key_B
EELint ImGui_Key_B()
Legacy EELint extension_api("ImGui_Key_B")
Luanumber retval = reaper.ImGui_Key_B()
Pythonint retval = ImGui_Key_B()

View source

Constant: Key_Backslash
C++int ImGui::Key_Backslash
EELint ImGui_Key_Backslash()
Legacy EELint extension_api("ImGui_Key_Backslash")
Luanumber retval = reaper.ImGui_Key_Backslash()
Pythonint retval = ImGui_Key_Backslash()

\

View source

Constant: Key_Backspace
C++int ImGui::Key_Backspace
EELint ImGui_Key_Backspace()
Legacy EELint extension_api("ImGui_Key_Backspace")
Luanumber retval = reaper.ImGui_Key_Backspace()
Pythonint retval = ImGui_Key_Backspace()

View source

Constant: Key_C
C++int ImGui::Key_C
EELint ImGui_Key_C()
Legacy EELint extension_api("ImGui_Key_C")
Luanumber retval = reaper.ImGui_Key_C()
Pythonint retval = ImGui_Key_C()

View source

Constant: Key_CapsLock
C++int ImGui::Key_CapsLock
EELint ImGui_Key_CapsLock()
Legacy EELint extension_api("ImGui_Key_CapsLock")
Luanumber retval = reaper.ImGui_Key_CapsLock()
Pythonint retval = ImGui_Key_CapsLock()

View source

Constant: Key_Comma
C++int ImGui::Key_Comma
EELint ImGui_Key_Comma()
Legacy EELint extension_api("ImGui_Key_Comma")
Luanumber retval = reaper.ImGui_Key_Comma()
Pythonint retval = ImGui_Key_Comma()

,

View source

Constant: Key_D
C++int ImGui::Key_D
EELint ImGui_Key_D()
Legacy EELint extension_api("ImGui_Key_D")
Luanumber retval = reaper.ImGui_Key_D()
Pythonint retval = ImGui_Key_D()

View source

Constant: Key_Delete
C++int ImGui::Key_Delete
EELint ImGui_Key_Delete()
Legacy EELint extension_api("ImGui_Key_Delete")
Luanumber retval = reaper.ImGui_Key_Delete()
Pythonint retval = ImGui_Key_Delete()

View source

Constant: Key_DownArrow
C++int ImGui::Key_DownArrow
EELint ImGui_Key_DownArrow()
Legacy EELint extension_api("ImGui_Key_DownArrow")
Luanumber retval = reaper.ImGui_Key_DownArrow()
Pythonint retval = ImGui_Key_DownArrow()

View source

Constant: Key_E
C++int ImGui::Key_E
EELint ImGui_Key_E()
Legacy EELint extension_api("ImGui_Key_E")
Luanumber retval = reaper.ImGui_Key_E()
Pythonint retval = ImGui_Key_E()

View source

Constant: Key_End
C++int ImGui::Key_End
EELint ImGui_Key_End()
Legacy EELint extension_api("ImGui_Key_End")
Luanumber retval = reaper.ImGui_Key_End()
Pythonint retval = ImGui_Key_End()

View source

Constant: Key_Enter
C++int ImGui::Key_Enter
EELint ImGui_Key_Enter()
Legacy EELint extension_api("ImGui_Key_Enter")
Luanumber retval = reaper.ImGui_Key_Enter()
Pythonint retval = ImGui_Key_Enter()

View source

Constant: Key_Equal
C++int ImGui::Key_Equal
EELint ImGui_Key_Equal()
Legacy EELint extension_api("ImGui_Key_Equal")
Luanumber retval = reaper.ImGui_Key_Equal()
Pythonint retval = ImGui_Key_Equal()

=

View source

Constant: Key_Escape
C++int ImGui::Key_Escape
EELint ImGui_Key_Escape()
Legacy EELint extension_api("ImGui_Key_Escape")
Luanumber retval = reaper.ImGui_Key_Escape()
Pythonint retval = ImGui_Key_Escape()

View source

Constant: Key_F
C++int ImGui::Key_F
EELint ImGui_Key_F()
Legacy EELint extension_api("ImGui_Key_F")
Luanumber retval = reaper.ImGui_Key_F()
Pythonint retval = ImGui_Key_F()

View source

Constant: Key_F1
C++int ImGui::Key_F1
EELint ImGui_Key_F1()
Legacy EELint extension_api("ImGui_Key_F1")
Luanumber retval = reaper.ImGui_Key_F1()
Pythonint retval = ImGui_Key_F1()

View source

Constant: Key_F10
C++int ImGui::Key_F10
EELint ImGui_Key_F10()
Legacy EELint extension_api("ImGui_Key_F10")
Luanumber retval = reaper.ImGui_Key_F10()
Pythonint retval = ImGui_Key_F10()

View source

Constant: Key_F11
C++int ImGui::Key_F11
EELint ImGui_Key_F11()
Legacy EELint extension_api("ImGui_Key_F11")
Luanumber retval = reaper.ImGui_Key_F11()
Pythonint retval = ImGui_Key_F11()

View source

Constant: Key_F12
C++int ImGui::Key_F12
EELint ImGui_Key_F12()
Legacy EELint extension_api("ImGui_Key_F12")
Luanumber retval = reaper.ImGui_Key_F12()
Pythonint retval = ImGui_Key_F12()

View source

Constant: Key_F2
C++int ImGui::Key_F2
EELint ImGui_Key_F2()
Legacy EELint extension_api("ImGui_Key_F2")
Luanumber retval = reaper.ImGui_Key_F2()
Pythonint retval = ImGui_Key_F2()

View source

Constant: Key_F3
C++int ImGui::Key_F3
EELint ImGui_Key_F3()
Legacy EELint extension_api("ImGui_Key_F3")
Luanumber retval = reaper.ImGui_Key_F3()
Pythonint retval = ImGui_Key_F3()

View source

Constant: Key_F4
C++int ImGui::Key_F4
EELint ImGui_Key_F4()
Legacy EELint extension_api("ImGui_Key_F4")
Luanumber retval = reaper.ImGui_Key_F4()
Pythonint retval = ImGui_Key_F4()

View source

Constant: Key_F5
C++int ImGui::Key_F5
EELint ImGui_Key_F5()
Legacy EELint extension_api("ImGui_Key_F5")
Luanumber retval = reaper.ImGui_Key_F5()
Pythonint retval = ImGui_Key_F5()

View source

Constant: Key_F6
C++int ImGui::Key_F6
EELint ImGui_Key_F6()
Legacy EELint extension_api("ImGui_Key_F6")
Luanumber retval = reaper.ImGui_Key_F6()
Pythonint retval = ImGui_Key_F6()

View source

Constant: Key_F7
C++int ImGui::Key_F7
EELint ImGui_Key_F7()
Legacy EELint extension_api("ImGui_Key_F7")
Luanumber retval = reaper.ImGui_Key_F7()
Pythonint retval = ImGui_Key_F7()

View source

Constant: Key_F8
C++int ImGui::Key_F8
EELint ImGui_Key_F8()
Legacy EELint extension_api("ImGui_Key_F8")
Luanumber retval = reaper.ImGui_Key_F8()
Pythonint retval = ImGui_Key_F8()

View source

Constant: Key_F9
C++int ImGui::Key_F9
EELint ImGui_Key_F9()
Legacy EELint extension_api("ImGui_Key_F9")
Luanumber retval = reaper.ImGui_Key_F9()
Pythonint retval = ImGui_Key_F9()

View source

Constant: Key_G
C++int ImGui::Key_G
EELint ImGui_Key_G()
Legacy EELint extension_api("ImGui_Key_G")
Luanumber retval = reaper.ImGui_Key_G()
Pythonint retval = ImGui_Key_G()

View source

Constant: Key_GraveAccent
C++int ImGui::Key_GraveAccent
EELint ImGui_Key_GraveAccent()
Legacy EELint extension_api("ImGui_Key_GraveAccent")
Luanumber retval = reaper.ImGui_Key_GraveAccent()
Pythonint retval = ImGui_Key_GraveAccent()

`

View source

Constant: Key_H
C++int ImGui::Key_H
EELint ImGui_Key_H()
Legacy EELint extension_api("ImGui_Key_H")
Luanumber retval = reaper.ImGui_Key_H()
Pythonint retval = ImGui_Key_H()

View source

Constant: Key_Home
C++int ImGui::Key_Home
EELint ImGui_Key_Home()
Legacy EELint extension_api("ImGui_Key_Home")
Luanumber retval = reaper.ImGui_Key_Home()
Pythonint retval = ImGui_Key_Home()

View source

Constant: Key_I
C++int ImGui::Key_I
EELint ImGui_Key_I()
Legacy EELint extension_api("ImGui_Key_I")
Luanumber retval = reaper.ImGui_Key_I()
Pythonint retval = ImGui_Key_I()

View source

Constant: Key_Insert
C++int ImGui::Key_Insert
EELint ImGui_Key_Insert()
Legacy EELint extension_api("ImGui_Key_Insert")
Luanumber retval = reaper.ImGui_Key_Insert()
Pythonint retval = ImGui_Key_Insert()

View source

Constant: Key_J
C++int ImGui::Key_J
EELint ImGui_Key_J()
Legacy EELint extension_api("ImGui_Key_J")
Luanumber retval = reaper.ImGui_Key_J()
Pythonint retval = ImGui_Key_J()

View source

Constant: Key_K
C++int ImGui::Key_K
EELint ImGui_Key_K()
Legacy EELint extension_api("ImGui_Key_K")
Luanumber retval = reaper.ImGui_Key_K()
Pythonint retval = ImGui_Key_K()

View source

Constant: Key_Keypad0
C++int ImGui::Key_Keypad0
EELint ImGui_Key_Keypad0()
Legacy EELint extension_api("ImGui_Key_Keypad0")
Luanumber retval = reaper.ImGui_Key_Keypad0()
Pythonint retval = ImGui_Key_Keypad0()

View source

Constant: Key_Keypad1
C++int ImGui::Key_Keypad1
EELint ImGui_Key_Keypad1()
Legacy EELint extension_api("ImGui_Key_Keypad1")
Luanumber retval = reaper.ImGui_Key_Keypad1()
Pythonint retval = ImGui_Key_Keypad1()

View source

Constant: Key_Keypad2
C++int ImGui::Key_Keypad2
EELint ImGui_Key_Keypad2()
Legacy EELint extension_api("ImGui_Key_Keypad2")
Luanumber retval = reaper.ImGui_Key_Keypad2()
Pythonint retval = ImGui_Key_Keypad2()

View source

Constant: Key_Keypad3
C++int ImGui::Key_Keypad3
EELint ImGui_Key_Keypad3()
Legacy EELint extension_api("ImGui_Key_Keypad3")
Luanumber retval = reaper.ImGui_Key_Keypad3()
Pythonint retval = ImGui_Key_Keypad3()

View source

Constant: Key_Keypad4
C++int ImGui::Key_Keypad4
EELint ImGui_Key_Keypad4()
Legacy EELint extension_api("ImGui_Key_Keypad4")
Luanumber retval = reaper.ImGui_Key_Keypad4()
Pythonint retval = ImGui_Key_Keypad4()

View source

Constant: Key_Keypad5
C++int ImGui::Key_Keypad5
EELint ImGui_Key_Keypad5()
Legacy EELint extension_api("ImGui_Key_Keypad5")
Luanumber retval = reaper.ImGui_Key_Keypad5()
Pythonint retval = ImGui_Key_Keypad5()

View source

Constant: Key_Keypad6
C++int ImGui::Key_Keypad6
EELint ImGui_Key_Keypad6()
Legacy EELint extension_api("ImGui_Key_Keypad6")
Luanumber retval = reaper.ImGui_Key_Keypad6()
Pythonint retval = ImGui_Key_Keypad6()

View source

Constant: Key_Keypad7
C++int ImGui::Key_Keypad7
EELint ImGui_Key_Keypad7()
Legacy EELint extension_api("ImGui_Key_Keypad7")
Luanumber retval = reaper.ImGui_Key_Keypad7()
Pythonint retval = ImGui_Key_Keypad7()

View source

Constant: Key_Keypad8
C++int ImGui::Key_Keypad8
EELint ImGui_Key_Keypad8()
Legacy EELint extension_api("ImGui_Key_Keypad8")
Luanumber retval = reaper.ImGui_Key_Keypad8()
Pythonint retval = ImGui_Key_Keypad8()

View source

Constant: Key_Keypad9
C++int ImGui::Key_Keypad9
EELint ImGui_Key_Keypad9()
Legacy EELint extension_api("ImGui_Key_Keypad9")
Luanumber retval = reaper.ImGui_Key_Keypad9()
Pythonint retval = ImGui_Key_Keypad9()

View source

Constant: Key_KeypadAdd
C++int ImGui::Key_KeypadAdd
EELint ImGui_Key_KeypadAdd()
Legacy EELint extension_api("ImGui_Key_KeypadAdd")
Luanumber retval = reaper.ImGui_Key_KeypadAdd()
Pythonint retval = ImGui_Key_KeypadAdd()

View source

Constant: Key_KeypadDecimal
C++int ImGui::Key_KeypadDecimal
EELint ImGui_Key_KeypadDecimal()
Legacy EELint extension_api("ImGui_Key_KeypadDecimal")
Luanumber retval = reaper.ImGui_Key_KeypadDecimal()
Pythonint retval = ImGui_Key_KeypadDecimal()

View source

Constant: Key_KeypadDivide
C++int ImGui::Key_KeypadDivide
EELint ImGui_Key_KeypadDivide()
Legacy EELint extension_api("ImGui_Key_KeypadDivide")
Luanumber retval = reaper.ImGui_Key_KeypadDivide()
Pythonint retval = ImGui_Key_KeypadDivide()

View source

Constant: Key_KeypadEnter
C++int ImGui::Key_KeypadEnter
EELint ImGui_Key_KeypadEnter()
Legacy EELint extension_api("ImGui_Key_KeypadEnter")
Luanumber retval = reaper.ImGui_Key_KeypadEnter()
Pythonint retval = ImGui_Key_KeypadEnter()

View source

Constant: Key_KeypadEqual
C++int ImGui::Key_KeypadEqual
EELint ImGui_Key_KeypadEqual()
Legacy EELint extension_api("ImGui_Key_KeypadEqual")
Luanumber retval = reaper.ImGui_Key_KeypadEqual()
Pythonint retval = ImGui_Key_KeypadEqual()

View source

Constant: Key_KeypadMultiply
C++int ImGui::Key_KeypadMultiply
EELint ImGui_Key_KeypadMultiply()
Legacy EELint extension_api("ImGui_Key_KeypadMultiply")
Luanumber retval = reaper.ImGui_Key_KeypadMultiply()
Pythonint retval = ImGui_Key_KeypadMultiply()

View source

Constant: Key_KeypadSubtract
C++int ImGui::Key_KeypadSubtract
EELint ImGui_Key_KeypadSubtract()
Legacy EELint extension_api("ImGui_Key_KeypadSubtract")
Luanumber retval = reaper.ImGui_Key_KeypadSubtract()
Pythonint retval = ImGui_Key_KeypadSubtract()

View source

Constant: Key_L
C++int ImGui::Key_L
EELint ImGui_Key_L()
Legacy EELint extension_api("ImGui_Key_L")
Luanumber retval = reaper.ImGui_Key_L()
Pythonint retval = ImGui_Key_L()

View source

Constant: Key_LeftAlt
C++int ImGui::Key_LeftAlt
EELint ImGui_Key_LeftAlt()
Legacy EELint extension_api("ImGui_Key_LeftAlt")
Luanumber retval = reaper.ImGui_Key_LeftAlt()
Pythonint retval = ImGui_Key_LeftAlt()

View source

Constant: Key_LeftArrow
C++int ImGui::Key_LeftArrow
EELint ImGui_Key_LeftArrow()
Legacy EELint extension_api("ImGui_Key_LeftArrow")
Luanumber retval = reaper.ImGui_Key_LeftArrow()
Pythonint retval = ImGui_Key_LeftArrow()

View source

Constant: Key_LeftBracket
C++int ImGui::Key_LeftBracket
EELint ImGui_Key_LeftBracket()
Legacy EELint extension_api("ImGui_Key_LeftBracket")
Luanumber retval = reaper.ImGui_Key_LeftBracket()
Pythonint retval = ImGui_Key_LeftBracket()

[

View source

Constant: Key_LeftCtrl
C++int ImGui::Key_LeftCtrl
EELint ImGui_Key_LeftCtrl()
Legacy EELint extension_api("ImGui_Key_LeftCtrl")
Luanumber retval = reaper.ImGui_Key_LeftCtrl()
Pythonint retval = ImGui_Key_LeftCtrl()

View source

Constant: Key_LeftShift
C++int ImGui::Key_LeftShift
EELint ImGui_Key_LeftShift()
Legacy EELint extension_api("ImGui_Key_LeftShift")
Luanumber retval = reaper.ImGui_Key_LeftShift()
Pythonint retval = ImGui_Key_LeftShift()

View source

Constant: Key_LeftSuper
C++int ImGui::Key_LeftSuper
EELint ImGui_Key_LeftSuper()
Legacy EELint extension_api("ImGui_Key_LeftSuper")
Luanumber retval = reaper.ImGui_Key_LeftSuper()
Pythonint retval = ImGui_Key_LeftSuper()

View source

Constant: Key_M
C++int ImGui::Key_M
EELint ImGui_Key_M()
Legacy EELint extension_api("ImGui_Key_M")
Luanumber retval = reaper.ImGui_Key_M()
Pythonint retval = ImGui_Key_M()

View source

Constant: Key_Menu
C++int ImGui::Key_Menu
EELint ImGui_Key_Menu()
Legacy EELint extension_api("ImGui_Key_Menu")
Luanumber retval = reaper.ImGui_Key_Menu()
Pythonint retval = ImGui_Key_Menu()

View source

Constant: Key_Minus
C++int ImGui::Key_Minus
EELint ImGui_Key_Minus()
Legacy EELint extension_api("ImGui_Key_Minus")
Luanumber retval = reaper.ImGui_Key_Minus()
Pythonint retval = ImGui_Key_Minus()

View source

Constant: Key_N
C++int ImGui::Key_N
EELint ImGui_Key_N()
Legacy EELint extension_api("ImGui_Key_N")
Luanumber retval = reaper.ImGui_Key_N()
Pythonint retval = ImGui_Key_N()

View source

Constant: Key_NumLock
C++int ImGui::Key_NumLock
EELint ImGui_Key_NumLock()
Legacy EELint extension_api("ImGui_Key_NumLock")
Luanumber retval = reaper.ImGui_Key_NumLock()
Pythonint retval = ImGui_Key_NumLock()

View source

Constant: Key_O
C++int ImGui::Key_O
EELint ImGui_Key_O()
Legacy EELint extension_api("ImGui_Key_O")
Luanumber retval = reaper.ImGui_Key_O()
Pythonint retval = ImGui_Key_O()

View source

Constant: Key_P
C++int ImGui::Key_P
EELint ImGui_Key_P()
Legacy EELint extension_api("ImGui_Key_P")
Luanumber retval = reaper.ImGui_Key_P()
Pythonint retval = ImGui_Key_P()

View source

Constant: Key_PageDown
C++int ImGui::Key_PageDown
EELint ImGui_Key_PageDown()
Legacy EELint extension_api("ImGui_Key_PageDown")
Luanumber retval = reaper.ImGui_Key_PageDown()
Pythonint retval = ImGui_Key_PageDown()

View source

Constant: Key_PageUp
C++int ImGui::Key_PageUp
EELint ImGui_Key_PageUp()
Legacy EELint extension_api("ImGui_Key_PageUp")
Luanumber retval = reaper.ImGui_Key_PageUp()
Pythonint retval = ImGui_Key_PageUp()

View source

Constant: Key_Pause
C++int ImGui::Key_Pause
EELint ImGui_Key_Pause()
Legacy EELint extension_api("ImGui_Key_Pause")
Luanumber retval = reaper.ImGui_Key_Pause()
Pythonint retval = ImGui_Key_Pause()

View source

Constant: Key_Period
C++int ImGui::Key_Period
EELint ImGui_Key_Period()
Legacy EELint extension_api("ImGui_Key_Period")
Luanumber retval = reaper.ImGui_Key_Period()
Pythonint retval = ImGui_Key_Period()

.

View source

Constant: Key_PrintScreen
C++int ImGui::Key_PrintScreen
EELint ImGui_Key_PrintScreen()
Legacy EELint extension_api("ImGui_Key_PrintScreen")
Luanumber retval = reaper.ImGui_Key_PrintScreen()
Pythonint retval = ImGui_Key_PrintScreen()

View source

Constant: Key_Q
C++int ImGui::Key_Q
EELint ImGui_Key_Q()
Legacy EELint extension_api("ImGui_Key_Q")
Luanumber retval = reaper.ImGui_Key_Q()
Pythonint retval = ImGui_Key_Q()

View source

Constant: Key_R
C++int ImGui::Key_R
EELint ImGui_Key_R()
Legacy EELint extension_api("ImGui_Key_R")
Luanumber retval = reaper.ImGui_Key_R()
Pythonint retval = ImGui_Key_R()

View source

Constant: Key_RightAlt
C++int ImGui::Key_RightAlt
EELint ImGui_Key_RightAlt()
Legacy EELint extension_api("ImGui_Key_RightAlt")
Luanumber retval = reaper.ImGui_Key_RightAlt()
Pythonint retval = ImGui_Key_RightAlt()

View source

Constant: Key_RightArrow
C++int ImGui::Key_RightArrow
EELint ImGui_Key_RightArrow()
Legacy EELint extension_api("ImGui_Key_RightArrow")
Luanumber retval = reaper.ImGui_Key_RightArrow()
Pythonint retval = ImGui_Key_RightArrow()

View source

Constant: Key_RightBracket
C++int ImGui::Key_RightBracket
EELint ImGui_Key_RightBracket()
Legacy EELint extension_api("ImGui_Key_RightBracket")
Luanumber retval = reaper.ImGui_Key_RightBracket()
Pythonint retval = ImGui_Key_RightBracket()

]

View source

Constant: Key_RightCtrl
C++int ImGui::Key_RightCtrl
EELint ImGui_Key_RightCtrl()
Legacy EELint extension_api("ImGui_Key_RightCtrl")
Luanumber retval = reaper.ImGui_Key_RightCtrl()
Pythonint retval = ImGui_Key_RightCtrl()

View source

Constant: Key_RightShift
C++int ImGui::Key_RightShift
EELint ImGui_Key_RightShift()
Legacy EELint extension_api("ImGui_Key_RightShift")
Luanumber retval = reaper.ImGui_Key_RightShift()
Pythonint retval = ImGui_Key_RightShift()

View source

Constant: Key_RightSuper
C++int ImGui::Key_RightSuper
EELint ImGui_Key_RightSuper()
Legacy EELint extension_api("ImGui_Key_RightSuper")
Luanumber retval = reaper.ImGui_Key_RightSuper()
Pythonint retval = ImGui_Key_RightSuper()

View source

Constant: Key_S
C++int ImGui::Key_S
EELint ImGui_Key_S()
Legacy EELint extension_api("ImGui_Key_S")
Luanumber retval = reaper.ImGui_Key_S()
Pythonint retval = ImGui_Key_S()

View source

Constant: Key_ScrollLock
C++int ImGui::Key_ScrollLock
EELint ImGui_Key_ScrollLock()
Legacy EELint extension_api("ImGui_Key_ScrollLock")
Luanumber retval = reaper.ImGui_Key_ScrollLock()
Pythonint retval = ImGui_Key_ScrollLock()

View source

Constant: Key_Semicolon
C++int ImGui::Key_Semicolon
EELint ImGui_Key_Semicolon()
Legacy EELint extension_api("ImGui_Key_Semicolon")
Luanumber retval = reaper.ImGui_Key_Semicolon()
Pythonint retval = ImGui_Key_Semicolon()

;

View source

Constant: Key_Slash
C++int ImGui::Key_Slash
EELint ImGui_Key_Slash()
Legacy EELint extension_api("ImGui_Key_Slash")
Luanumber retval = reaper.ImGui_Key_Slash()
Pythonint retval = ImGui_Key_Slash()

/

View source

Constant: Key_Space
C++int ImGui::Key_Space
EELint ImGui_Key_Space()
Legacy EELint extension_api("ImGui_Key_Space")
Luanumber retval = reaper.ImGui_Key_Space()
Pythonint retval = ImGui_Key_Space()

View source

Constant: Key_T
C++int ImGui::Key_T
EELint ImGui_Key_T()
Legacy EELint extension_api("ImGui_Key_T")
Luanumber retval = reaper.ImGui_Key_T()
Pythonint retval = ImGui_Key_T()

View source

Constant: Key_Tab
C++int ImGui::Key_Tab
EELint ImGui_Key_Tab()
Legacy EELint extension_api("ImGui_Key_Tab")
Luanumber retval = reaper.ImGui_Key_Tab()
Pythonint retval = ImGui_Key_Tab()

View source

Constant: Key_U
C++int ImGui::Key_U
EELint ImGui_Key_U()
Legacy EELint extension_api("ImGui_Key_U")
Luanumber retval = reaper.ImGui_Key_U()
Pythonint retval = ImGui_Key_U()

View source

Constant: Key_UpArrow
C++int ImGui::Key_UpArrow
EELint ImGui_Key_UpArrow()
Legacy EELint extension_api("ImGui_Key_UpArrow")
Luanumber retval = reaper.ImGui_Key_UpArrow()
Pythonint retval = ImGui_Key_UpArrow()

View source

Constant: Key_V
C++int ImGui::Key_V
EELint ImGui_Key_V()
Legacy EELint extension_api("ImGui_Key_V")
Luanumber retval = reaper.ImGui_Key_V()
Pythonint retval = ImGui_Key_V()

View source

Constant: Key_W
C++int ImGui::Key_W
EELint ImGui_Key_W()
Legacy EELint extension_api("ImGui_Key_W")
Luanumber retval = reaper.ImGui_Key_W()
Pythonint retval = ImGui_Key_W()

View source

Constant: Key_X
C++int ImGui::Key_X
EELint ImGui_Key_X()
Legacy EELint extension_api("ImGui_Key_X")
Luanumber retval = reaper.ImGui_Key_X()
Pythonint retval = ImGui_Key_X()

View source

Constant: Key_Y
C++int ImGui::Key_Y
EELint ImGui_Key_Y()
Legacy EELint extension_api("ImGui_Key_Y")
Luanumber retval = reaper.ImGui_Key_Y()
Pythonint retval = ImGui_Key_Y()

View source

Constant: Key_Z
C++int ImGui::Key_Z
EELint ImGui_Key_Z()
Legacy EELint extension_api("ImGui_Key_Z")
Luanumber retval = reaper.ImGui_Key_Z()
Pythonint retval = ImGui_Key_Z()

View source

Modifiers
Constant: Mod_Alt
C++int ImGui::Mod_Alt
EELint ImGui_Mod_Alt()
Legacy EELint extension_api("ImGui_Mod_Alt")
Luanumber retval = reaper.ImGui_Mod_Alt()
Pythonint retval = ImGui_Mod_Alt()

View source

Constant: Mod_Ctrl
C++int ImGui::Mod_Ctrl
EELint ImGui_Mod_Ctrl()
Legacy EELint extension_api("ImGui_Mod_Ctrl")
Luanumber retval = reaper.ImGui_Mod_Ctrl()
Pythonint retval = ImGui_Mod_Ctrl()

View source

Constant: Mod_None
C++int ImGui::Mod_None
EELint ImGui_Mod_None()
Legacy EELint extension_api("ImGui_Mod_None")
Luanumber retval = reaper.ImGui_Mod_None()
Pythonint retval = ImGui_Mod_None()

View source

Constant: Mod_Shift
C++int ImGui::Mod_Shift
EELint ImGui_Mod_Shift()
Legacy EELint extension_api("ImGui_Mod_Shift")
Luanumber retval = reaper.ImGui_Mod_Shift()
Pythonint retval = ImGui_Mod_Shift()

View source

Constant: Mod_Shortcut
C++int ImGui::Mod_Shortcut
EELint ImGui_Mod_Shortcut()
Legacy EELint extension_api("ImGui_Mod_Shortcut")
Luanumber retval = reaper.ImGui_Mod_Shortcut()
Pythonint retval = ImGui_Mod_Shortcut()

Alias for Mod_Ctrl on Linux and Windows and Mod_Super on macOS (Cmd key).

View source

Constant: Mod_Super
C++int ImGui::Mod_Super
EELint ImGui_Mod_Super()
Legacy EELint extension_api("ImGui_Mod_Super")
Luanumber retval = reaper.ImGui_Mod_Super()
Pythonint retval = ImGui_Mod_Super()

View source

Mouse Buttons

This is mirroring the data also written accessible via IsMouseDown, GetMouseWheel etc, in a format allowing them to be accessed via standard key API.

Constant: Key_MouseLeft
C++int ImGui::Key_MouseLeft
EELint ImGui_Key_MouseLeft()
Legacy EELint extension_api("ImGui_Key_MouseLeft")
Luanumber retval = reaper.ImGui_Key_MouseLeft()
Pythonint retval = ImGui_Key_MouseLeft()

View source

Constant: Key_MouseMiddle
C++int ImGui::Key_MouseMiddle
EELint ImGui_Key_MouseMiddle()
Legacy EELint extension_api("ImGui_Key_MouseMiddle")
Luanumber retval = reaper.ImGui_Key_MouseMiddle()
Pythonint retval = ImGui_Key_MouseMiddle()

View source

Constant: Key_MouseRight
C++int ImGui::Key_MouseRight
EELint ImGui_Key_MouseRight()
Legacy EELint extension_api("ImGui_Key_MouseRight")
Luanumber retval = reaper.ImGui_Key_MouseRight()
Pythonint retval = ImGui_Key_MouseRight()

View source

Constant: Key_MouseWheelX
C++int ImGui::Key_MouseWheelX
EELint ImGui_Key_MouseWheelX()
Legacy EELint extension_api("ImGui_Key_MouseWheelX")
Luanumber retval = reaper.ImGui_Key_MouseWheelX()
Pythonint retval = ImGui_Key_MouseWheelX()

View source

Constant: Key_MouseWheelY
C++int ImGui::Key_MouseWheelY
EELint ImGui_Key_MouseWheelY()
Legacy EELint extension_api("ImGui_Key_MouseWheelY")
Luanumber retval = reaper.ImGui_Key_MouseWheelY()
Pythonint retval = ImGui_Key_MouseWheelY()

View source

Constant: Key_MouseX1
C++int ImGui::Key_MouseX1
EELint ImGui_Key_MouseX1()
Legacy EELint extension_api("ImGui_Key_MouseX1")
Luanumber retval = reaper.ImGui_Key_MouseX1()
Pythonint retval = ImGui_Key_MouseX1()

View source

Constant: Key_MouseX2
C++int ImGui::Key_MouseX2
EELint ImGui_Key_MouseX2()
Legacy EELint extension_api("ImGui_Key_MouseX2")
Luanumber retval = reaper.ImGui_Key_MouseX2()
Pythonint retval = ImGui_Key_MouseX2()

View source

Mouse

To refer to a mouse button, you may use named enums in your code e.g. MouseButton_Left, MouseButton_Right.

You can also use regular integer: it is forever guaranteed that 0=Left, 1=Right, 2=Middle. Buttons 3 and 4 do not have a named enum.

Dragging operations are only reported after mouse has moved a certain distance away from the initial clicking position (see 'lock_threshold' parameters and 'ConfigVar_MouseDragThreshold').

Function: GetMouseClickedCount
C++int ImGui::GetMouseClickedCount(ImGui_Context* ctx, int button)
EELint ImGui_GetMouseClickedCount(ImGui_Context ctx, int button)
Legacy EELint extension_api("ImGui_GetMouseClickedCount", ImGui_Context ctx, int button)
Luanumber retval = reaper.ImGui_GetMouseClickedCount(ImGui_Context ctx, number button)
Pythonint retval = ImGui_GetMouseClickedCount(ImGui_Context ctx, int button)

Return the number of successive mouse-clicks at the time where a click happen (otherwise 0).

View source

Function: GetMouseClickedPos
C++void ImGui::GetMouseClickedPos(ImGui_Context* ctx, int button, double* xOut, double* yOut)
EELImGui_GetMouseClickedPos(ImGui_Context ctx, int button, &x, &y)
Legacy EELextension_api("ImGui_GetMouseClickedPos", ImGui_Context ctx, int button, &x, &y)
Luanumber x, number y = reaper.ImGui_GetMouseClickedPos(ImGui_Context ctx, number button)
Python(float x, float y) = ImGui_GetMouseClickedPos(ImGui_Context ctx, int button)

View source

Function: GetMouseDelta
C++void ImGui::GetMouseDelta(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetMouseDelta(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetMouseDelta", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetMouseDelta(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetMouseDelta(ImGui_Context ctx)

Mouse delta. Note that this is zero if either current or previous position are invalid (-FLT_MAX,-FLT_MAX), so a disappearing/reappearing mouse won't have a huge delta.

View source

Function: GetMouseDownDuration
C++double ImGui::GetMouseDownDuration(ImGui_Context* ctx, int button)
EELdouble ImGui_GetMouseDownDuration(ImGui_Context ctx, int button)
Legacy EELdouble extension_api("ImGui_GetMouseDownDuration", ImGui_Context ctx, int button)
Luanumber retval = reaper.ImGui_GetMouseDownDuration(ImGui_Context ctx, number button)
Pythonfloat retval = ImGui_GetMouseDownDuration(ImGui_Context ctx, int button)

Duration the mouse button has been down (0.0 == just clicked)

View source

Function: GetMouseDragDelta
C++void ImGui::GetMouseDragDelta(ImGui_Context* ctx, double* xOut, double* yOut, int* buttonInOptional = MouseButton_Left, double* lock_thresholdInOptional = -1.0)
EELImGui_GetMouseDragDelta(ImGui_Context ctx, &x, &y, int button = MouseButton_Left, lock_threshold = -1.0)
Legacy EELextension_api("ImGui_GetMouseDragDelta", ImGui_Context ctx, &x, &y, int button = MouseButton_Left, lock_threshold = -1.0)
Luanumber x, number y = reaper.ImGui_GetMouseDragDelta(ImGui_Context ctx, nil, nil, number button = MouseButton_Left, number lock_threshold = -1.0)
Python(float x, float y) = ImGui_GetMouseDragDelta(ImGui_Context ctx, int button = MouseButton_Left, float lock_threshold = -1.0)

Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0 until the mouse moves past a distance threshold at least once (if lock_threshold < -1.0, uses ConfigVar_MouseDragThreshold).

View source

Function: GetMousePos
C++void ImGui::GetMousePos(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetMousePos(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetMousePos", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetMousePos(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetMousePos(ImGui_Context ctx)

View source

Function: GetMousePosOnOpeningCurrentPopup
C++void ImGui::GetMousePosOnOpeningCurrentPopup(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetMousePosOnOpeningCurrentPopup(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetMousePosOnOpeningCurrentPopup", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetMousePosOnOpeningCurrentPopup(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetMousePosOnOpeningCurrentPopup(ImGui_Context ctx)

Retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves).

View source

Function: GetMouseWheel
C++void ImGui::GetMouseWheel(ImGui_Context* ctx, double* verticalOut, double* horizontalOut)
EELImGui_GetMouseWheel(ImGui_Context ctx, &vertical, &horizontal)
Legacy EELextension_api("ImGui_GetMouseWheel", ImGui_Context ctx, &vertical, &horizontal)
Luanumber vertical, number horizontal = reaper.ImGui_GetMouseWheel(ImGui_Context ctx)
Python(float vertical, float horizontal) = ImGui_GetMouseWheel(ImGui_Context ctx)

Vertical: 1 unit scrolls about 5 lines text. >0 scrolls Up, <0 scrolls Down. Hold SHIFT to turn vertical scroll into horizontal scroll

Horizontal: >0 scrolls Left, <0 scrolls Right. Most users don't have a mouse with a horizontal wheel.

View source

Function: IsAnyMouseDown
C++bool ImGui::IsAnyMouseDown(ImGui_Context* ctx)
EELbool ImGui_IsAnyMouseDown(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsAnyMouseDown", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsAnyMouseDown(ImGui_Context ctx)
Pythonbool retval = ImGui_IsAnyMouseDown(ImGui_Context ctx)

Is any mouse button held?

View source

Function: IsMouseClicked
C++bool ImGui::IsMouseClicked(ImGui_Context* ctx, int button, bool* repeatInOptional = false)
EELbool ImGui_IsMouseClicked(ImGui_Context ctx, int button, bool repeat = false)
Legacy EELbool extension_api("ImGui_IsMouseClicked", ImGui_Context ctx, int button, bool repeat = false)
Luaboolean retval = reaper.ImGui_IsMouseClicked(ImGui_Context ctx, number button, boolean repeat = false)
Pythonbool retval = ImGui_IsMouseClicked(ImGui_Context ctx, int button, bool repeat = false)

Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1.

View source

Function: IsMouseDoubleClicked
C++bool ImGui::IsMouseDoubleClicked(ImGui_Context* ctx, int button)
EELbool ImGui_IsMouseDoubleClicked(ImGui_Context ctx, int button)
Legacy EELbool extension_api("ImGui_IsMouseDoubleClicked", ImGui_Context ctx, int button)
Luaboolean retval = reaper.ImGui_IsMouseDoubleClicked(ImGui_Context ctx, number button)
Pythonbool retval = ImGui_IsMouseDoubleClicked(ImGui_Context ctx, int button)

Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. (Note that a double-click will also report IsMouseClicked() == true)

View source

Function: IsMouseDown
C++bool ImGui::IsMouseDown(ImGui_Context* ctx, int button)
EELbool ImGui_IsMouseDown(ImGui_Context ctx, int button)
Legacy EELbool extension_api("ImGui_IsMouseDown", ImGui_Context ctx, int button)
Luaboolean retval = reaper.ImGui_IsMouseDown(ImGui_Context ctx, number button)
Pythonbool retval = ImGui_IsMouseDown(ImGui_Context ctx, int button)

Is mouse button held?

View source

Function: IsMouseDragging
C++bool ImGui::IsMouseDragging(ImGui_Context* ctx, int button, double* lock_thresholdInOptional = -1.0)
EELbool ImGui_IsMouseDragging(ImGui_Context ctx, int button, lock_threshold = -1.0)
Legacy EELbool extension_api("ImGui_IsMouseDragging", ImGui_Context ctx, int button, lock_threshold = -1.0)
Luaboolean retval = reaper.ImGui_IsMouseDragging(ImGui_Context ctx, number button, number lock_threshold = -1.0)
Pythonbool retval = ImGui_IsMouseDragging(ImGui_Context ctx, int button, float lock_threshold = -1.0)

Is mouse dragging? (if lock_threshold < -1.0, uses ConfigVar_MouseDragThreshold)

View source

Function: IsMouseHoveringRect
C++bool ImGui::IsMouseHoveringRect(ImGui_Context* ctx, double r_min_x, double r_min_y, double r_max_x, double r_max_y, bool* clipInOptional = true)
EELbool ImGui_IsMouseHoveringRect(ImGui_Context ctx, r_min_x, r_min_y, r_max_x, r_max_y, bool clip = true)
Legacy EELbool extension_api("ImGui_IsMouseHoveringRect", ImGui_Context ctx, r_min_x, r_min_y, r_max_x, r_max_y, bool clip = true)
Luaboolean retval = reaper.ImGui_IsMouseHoveringRect(ImGui_Context ctx, number r_min_x, number r_min_y, number r_max_x, number r_max_y, boolean clip = true)
Pythonbool retval = ImGui_IsMouseHoveringRect(ImGui_Context ctx, float r_min_x, float r_min_y, float r_max_x, float r_max_y, bool clip = true)

Is mouse hovering given bounding rect (in screen space). Clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.

View source

Function: IsMousePosValid
C++bool ImGui::IsMousePosValid(ImGui_Context* ctx, double* mouse_pos_xInOptional = nullptr, double* mouse_pos_yInOptional = nullptr)
EELbool ImGui_IsMousePosValid(ImGui_Context ctx, mouse_pos_x = 0, mouse_pos_y = 0)
Legacy EELbool extension_api("ImGui_IsMousePosValid", ImGui_Context ctx, mouse_pos_x = 0, mouse_pos_y = 0)
Luaboolean retval = reaper.ImGui_IsMousePosValid(ImGui_Context ctx, number mouse_pos_x = nil, number mouse_pos_y = nil)
Pythonbool retval = ImGui_IsMousePosValid(ImGui_Context ctx, float mouse_pos_x = None, float mouse_pos_y = None)

View source

Function: IsMouseReleased
C++bool ImGui::IsMouseReleased(ImGui_Context* ctx, int button)
EELbool ImGui_IsMouseReleased(ImGui_Context ctx, int button)
Legacy EELbool extension_api("ImGui_IsMouseReleased", ImGui_Context ctx, int button)
Luaboolean retval = reaper.ImGui_IsMouseReleased(ImGui_Context ctx, number button)
Pythonbool retval = ImGui_IsMouseReleased(ImGui_Context ctx, int button)

Did mouse button released? (went from Down to !Down)

View source

Constant: MouseButton_Left
C++int ImGui::MouseButton_Left
EELint ImGui_MouseButton_Left()
Legacy EELint extension_api("ImGui_MouseButton_Left")
Luanumber retval = reaper.ImGui_MouseButton_Left()
Pythonint retval = ImGui_MouseButton_Left()

View source

Constant: MouseButton_Middle
C++int ImGui::MouseButton_Middle
EELint ImGui_MouseButton_Middle()
Legacy EELint extension_api("ImGui_MouseButton_Middle")
Luanumber retval = reaper.ImGui_MouseButton_Middle()
Pythonint retval = ImGui_MouseButton_Middle()

View source

Constant: MouseButton_Right
C++int ImGui::MouseButton_Right
EELint ImGui_MouseButton_Right()
Legacy EELint extension_api("ImGui_MouseButton_Right")
Luanumber retval = reaper.ImGui_MouseButton_Right()
Pythonint retval = ImGui_MouseButton_Right()

View source

Function: ResetMouseDragDelta
C++void ImGui::ResetMouseDragDelta(ImGui_Context* ctx, int* buttonInOptional = MouseButton_Left)
EELImGui_ResetMouseDragDelta(ImGui_Context ctx, int button = MouseButton_Left)
Legacy EELextension_api("ImGui_ResetMouseDragDelta", ImGui_Context ctx, int button = MouseButton_Left)
Luareaper.ImGui_ResetMouseDragDelta(ImGui_Context ctx, number button = MouseButton_Left)
PythonImGui_ResetMouseDragDelta(ImGui_Context ctx, int button = MouseButton_Left)

View source

Mouse Cursor

Function: GetMouseCursor
C++int ImGui::GetMouseCursor(ImGui_Context* ctx)
EELint ImGui_GetMouseCursor(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_GetMouseCursor", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetMouseCursor(ImGui_Context ctx)
Pythonint retval = ImGui_GetMouseCursor(ImGui_Context ctx)

Get desired mouse cursor shape, reset every frame. This is updated during the frame.

View source

Constant: MouseCursor_Arrow
C++int ImGui::MouseCursor_Arrow
EELint ImGui_MouseCursor_Arrow()
Legacy EELint extension_api("ImGui_MouseCursor_Arrow")
Luanumber retval = reaper.ImGui_MouseCursor_Arrow()
Pythonint retval = ImGui_MouseCursor_Arrow()

View source

Constant: MouseCursor_Hand
C++int ImGui::MouseCursor_Hand
EELint ImGui_MouseCursor_Hand()
Legacy EELint extension_api("ImGui_MouseCursor_Hand")
Luanumber retval = reaper.ImGui_MouseCursor_Hand()
Pythonint retval = ImGui_MouseCursor_Hand()

(Unused by Dear ImGui functions. Use for e.g. hyperlinks)

View source

Constant: MouseCursor_None
C++int ImGui::MouseCursor_None
EELint ImGui_MouseCursor_None()
Legacy EELint extension_api("ImGui_MouseCursor_None")
Luanumber retval = reaper.ImGui_MouseCursor_None()
Pythonint retval = ImGui_MouseCursor_None()

View source

Constant: MouseCursor_NotAllowed
C++int ImGui::MouseCursor_NotAllowed
EELint ImGui_MouseCursor_NotAllowed()
Legacy EELint extension_api("ImGui_MouseCursor_NotAllowed")
Luanumber retval = reaper.ImGui_MouseCursor_NotAllowed()
Pythonint retval = ImGui_MouseCursor_NotAllowed()

When hovering something with disallowed interaction. Usually a crossed circle.

View source

Constant: MouseCursor_ResizeAll
C++int ImGui::MouseCursor_ResizeAll
EELint ImGui_MouseCursor_ResizeAll()
Legacy EELint extension_api("ImGui_MouseCursor_ResizeAll")
Luanumber retval = reaper.ImGui_MouseCursor_ResizeAll()
Pythonint retval = ImGui_MouseCursor_ResizeAll()

(Unused by Dear ImGui functions)

View source

Constant: MouseCursor_ResizeEW
C++int ImGui::MouseCursor_ResizeEW
EELint ImGui_MouseCursor_ResizeEW()
Legacy EELint extension_api("ImGui_MouseCursor_ResizeEW")
Luanumber retval = reaper.ImGui_MouseCursor_ResizeEW()
Pythonint retval = ImGui_MouseCursor_ResizeEW()

When hovering over a vertical border or a column.

View source

Constant: MouseCursor_ResizeNESW
C++int ImGui::MouseCursor_ResizeNESW
EELint ImGui_MouseCursor_ResizeNESW()
Legacy EELint extension_api("ImGui_MouseCursor_ResizeNESW")
Luanumber retval = reaper.ImGui_MouseCursor_ResizeNESW()
Pythonint retval = ImGui_MouseCursor_ResizeNESW()

When hovering over the bottom-left corner of a window.

View source

Constant: MouseCursor_ResizeNS
C++int ImGui::MouseCursor_ResizeNS
EELint ImGui_MouseCursor_ResizeNS()
Legacy EELint extension_api("ImGui_MouseCursor_ResizeNS")
Luanumber retval = reaper.ImGui_MouseCursor_ResizeNS()
Pythonint retval = ImGui_MouseCursor_ResizeNS()

When hovering over a horizontal border.

View source

Constant: MouseCursor_ResizeNWSE
C++int ImGui::MouseCursor_ResizeNWSE
EELint ImGui_MouseCursor_ResizeNWSE()
Legacy EELint extension_api("ImGui_MouseCursor_ResizeNWSE")
Luanumber retval = reaper.ImGui_MouseCursor_ResizeNWSE()
Pythonint retval = ImGui_MouseCursor_ResizeNWSE()

When hovering over the bottom-right corner of a window.

View source

Constant: MouseCursor_TextInput
C++int ImGui::MouseCursor_TextInput
EELint ImGui_MouseCursor_TextInput()
Legacy EELint extension_api("ImGui_MouseCursor_TextInput")
Luanumber retval = reaper.ImGui_MouseCursor_TextInput()
Pythonint retval = ImGui_MouseCursor_TextInput()

When hovering over InputText, etc.

View source

Function: SetMouseCursor
C++void ImGui::SetMouseCursor(ImGui_Context* ctx, int cursor_type)
EELImGui_SetMouseCursor(ImGui_Context ctx, int cursor_type)
Legacy EELextension_api("ImGui_SetMouseCursor", ImGui_Context ctx, int cursor_type)
Luareaper.ImGui_SetMouseCursor(ImGui_Context ctx, number cursor_type)
PythonImGui_SetMouseCursor(ImGui_Context ctx, int cursor_type)

Set desired mouse cursor shape. See MouseCursor_* for possible values.

View source


Layout

Function: Separator
C++void ImGui::Separator(ImGui_Context* ctx)
EELImGui_Separator(ImGui_Context ctx)
Legacy EELextension_api("ImGui_Separator", ImGui_Context ctx)
Luareaper.ImGui_Separator(ImGui_Context ctx)
PythonImGui_Separator(ImGui_Context ctx)

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

View source

Function: SeparatorText
C++void ImGui::SeparatorText(ImGui_Context* ctx, const char* label)
EELImGui_SeparatorText(ImGui_Context ctx, "label")
Legacy EELextension_api("ImGui_SeparatorText", ImGui_Context ctx, "label")
Luareaper.ImGui_SeparatorText(ImGui_Context ctx, string label)
PythonImGui_SeparatorText(ImGui_Context ctx, str label)

Text formatted with an horizontal line

View source

Clipping

Mouse hovering is affected by PushClipRect() calls, unlike direct calls to DrawList_PushClipRect() which are render only. Coordinates are in screen space.

Function: IsRectVisible
C++bool ImGui::IsRectVisible(ImGui_Context* ctx, double size_w, double size_h)
EELbool ImGui_IsRectVisible(ImGui_Context ctx, size_w, size_h)
Legacy EELbool extension_api("ImGui_IsRectVisible", ImGui_Context ctx, size_w, size_h)
Luaboolean retval = reaper.ImGui_IsRectVisible(ImGui_Context ctx, number size_w, number size_h)
Pythonbool retval = ImGui_IsRectVisible(ImGui_Context ctx, float size_w, float size_h)

Test if rectangle (of given size, starting from cursor position) is visible / not clipped.

View source

Function: IsRectVisibleEx
C++bool ImGui::IsRectVisibleEx(ImGui_Context* ctx, double rect_min_x, double rect_min_y, double rect_max_x, double rect_max_y)
EELbool ImGui_IsRectVisibleEx(ImGui_Context ctx, rect_min_x, rect_min_y, rect_max_x, rect_max_y)
Legacy EELbool extension_api("ImGui_IsRectVisibleEx", ImGui_Context ctx, rect_min_x, rect_min_y, rect_max_x, rect_max_y)
Luaboolean retval = reaper.ImGui_IsRectVisibleEx(ImGui_Context ctx, number rect_min_x, number rect_min_y, number rect_max_x, number rect_max_y)
Pythonbool retval = ImGui_IsRectVisibleEx(ImGui_Context ctx, float rect_min_x, float rect_min_y, float rect_max_x, float rect_max_y)

Test if rectangle (in screen space) is visible / not clipped. to perform coarse clipping on user's side.

View source

Function: PopClipRect
C++void ImGui::PopClipRect(ImGui_Context* ctx)
EELImGui_PopClipRect(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopClipRect", ImGui_Context ctx)
Luareaper.ImGui_PopClipRect(ImGui_Context ctx)
PythonImGui_PopClipRect(ImGui_Context ctx)

See PushClipRect

View source

Function: PushClipRect
C++void ImGui::PushClipRect(ImGui_Context* ctx, double clip_rect_min_x, double clip_rect_min_y, double clip_rect_max_x, double clip_rect_max_y, bool intersect_with_current_clip_rect)
EELImGui_PushClipRect(ImGui_Context ctx, clip_rect_min_x, clip_rect_min_y, clip_rect_max_x, clip_rect_max_y, bool intersect_with_current_clip_rect)
Legacy EELextension_api("ImGui_PushClipRect", ImGui_Context ctx, clip_rect_min_x, clip_rect_min_y, clip_rect_max_x, clip_rect_max_y, bool intersect_with_current_clip_rect)
Luareaper.ImGui_PushClipRect(ImGui_Context ctx, number clip_rect_min_x, number clip_rect_min_y, number clip_rect_max_x, number clip_rect_max_y, boolean intersect_with_current_clip_rect)
PythonImGui_PushClipRect(ImGui_Context ctx, float clip_rect_min_x, float clip_rect_min_y, float clip_rect_max_x, float clip_rect_max_y, bool intersect_with_current_clip_rect)

View source

Cursor

By "cursor" we mean the current output position. The typical widget behavior is to output themselves at the current cursor position, then move the cursor one line down.

You can call SameLine() between widgets to undo the last carriage return and output at the right of the preceding widget.

Function: BeginGroup
C++void ImGui::BeginGroup(ImGui_Context* ctx)
EELImGui_BeginGroup(ImGui_Context ctx)
Legacy EELextension_api("ImGui_BeginGroup", ImGui_Context ctx)
Luareaper.ImGui_BeginGroup(ImGui_Context ctx)
PythonImGui_BeginGroup(ImGui_Context ctx)

Lock horizontal starting position. See EndGroup.

View source

Function: Dummy
C++void ImGui::Dummy(ImGui_Context* ctx, double size_w, double size_h)
EELImGui_Dummy(ImGui_Context ctx, size_w, size_h)
Legacy EELextension_api("ImGui_Dummy", ImGui_Context ctx, size_w, size_h)
Luareaper.ImGui_Dummy(ImGui_Context ctx, number size_w, number size_h)
PythonImGui_Dummy(ImGui_Context ctx, float size_w, float size_h)

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

View source

Function: EndGroup
C++void ImGui::EndGroup(ImGui_Context* ctx)
EELImGui_EndGroup(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndGroup", ImGui_Context ctx)
Luareaper.ImGui_EndGroup(ImGui_Context ctx)
PythonImGui_EndGroup(ImGui_Context ctx)

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.).

See BeginGroup.

View source

Function: GetCursorPos
C++void ImGui::GetCursorPos(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetCursorPos(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetCursorPos", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetCursorPos(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetCursorPos(ImGui_Context ctx)

Cursor position in window

View source

Function: GetCursorPosX
C++double ImGui::GetCursorPosX(ImGui_Context* ctx)
EELdouble ImGui_GetCursorPosX(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetCursorPosX", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetCursorPosX(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetCursorPosX(ImGui_Context ctx)

Cursor X position in window

View source

Function: GetCursorPosY
C++double ImGui::GetCursorPosY(ImGui_Context* ctx)
EELdouble ImGui_GetCursorPosY(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetCursorPosY", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetCursorPosY(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetCursorPosY(ImGui_Context ctx)

Cursor Y position in window

View source

Function: GetCursorScreenPos
C++void ImGui::GetCursorScreenPos(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetCursorScreenPos(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetCursorScreenPos", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetCursorScreenPos(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetCursorScreenPos(ImGui_Context ctx)

Cursor position in absolute screen coordinates (useful to work with the DrawList API).

View source

Function: GetCursorStartPos
C++void ImGui::GetCursorStartPos(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetCursorStartPos(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetCursorStartPos", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetCursorStartPos(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetCursorStartPos(ImGui_Context ctx)

Initial cursor position in window coordinates.

View source

Function: Indent
C++void ImGui::Indent(ImGui_Context* ctx, double* indent_wInOptional = 0.0)
EELImGui_Indent(ImGui_Context ctx, indent_w = 0.0)
Legacy EELextension_api("ImGui_Indent", ImGui_Context ctx, indent_w = 0.0)
Luareaper.ImGui_Indent(ImGui_Context ctx, number indent_w = 0.0)
PythonImGui_Indent(ImGui_Context ctx, float indent_w = 0.0)

Move content position toward the right, by 'indent_w', or StyleVar_IndentSpacing if 'indent_w' <= 0. See Unindent.

View source

Function: NewLine
C++void ImGui::NewLine(ImGui_Context* ctx)
EELImGui_NewLine(ImGui_Context ctx)
Legacy EELextension_api("ImGui_NewLine", ImGui_Context ctx)
Luareaper.ImGui_NewLine(ImGui_Context ctx)
PythonImGui_NewLine(ImGui_Context ctx)

Undo a SameLine() or force a new line when in a horizontal-layout context.

View source

Function: SameLine
C++void ImGui::SameLine(ImGui_Context* ctx, double* offset_from_start_xInOptional = 0.0, double* spacingInOptional = -1.0)
EELImGui_SameLine(ImGui_Context ctx, offset_from_start_x = 0.0, spacing = -1.0)
Legacy EELextension_api("ImGui_SameLine", ImGui_Context ctx, offset_from_start_x = 0.0, spacing = -1.0)
Luareaper.ImGui_SameLine(ImGui_Context ctx, number offset_from_start_x = 0.0, number spacing = -1.0)
PythonImGui_SameLine(ImGui_Context ctx, float offset_from_start_x = 0.0, float spacing = -1.0)

Call between widgets or groups to layout them horizontally. X position given in window coordinates.

View source

Function: SetCursorPos
C++void ImGui::SetCursorPos(ImGui_Context* ctx, double local_pos_x, double local_pos_y)
EELImGui_SetCursorPos(ImGui_Context ctx, local_pos_x, local_pos_y)
Legacy EELextension_api("ImGui_SetCursorPos", ImGui_Context ctx, local_pos_x, local_pos_y)
Luareaper.ImGui_SetCursorPos(ImGui_Context ctx, number local_pos_x, number local_pos_y)
PythonImGui_SetCursorPos(ImGui_Context ctx, float local_pos_x, float local_pos_y)

Cursor position in window

View source

Function: SetCursorPosX
C++void ImGui::SetCursorPosX(ImGui_Context* ctx, double local_x)
EELImGui_SetCursorPosX(ImGui_Context ctx, local_x)
Legacy EELextension_api("ImGui_SetCursorPosX", ImGui_Context ctx, local_x)
Luareaper.ImGui_SetCursorPosX(ImGui_Context ctx, number local_x)
PythonImGui_SetCursorPosX(ImGui_Context ctx, float local_x)

Cursor X position in window

View source

Function: SetCursorPosY
C++void ImGui::SetCursorPosY(ImGui_Context* ctx, double local_y)
EELImGui_SetCursorPosY(ImGui_Context ctx, local_y)
Legacy EELextension_api("ImGui_SetCursorPosY", ImGui_Context ctx, local_y)
Luareaper.ImGui_SetCursorPosY(ImGui_Context ctx, number local_y)
PythonImGui_SetCursorPosY(ImGui_Context ctx, float local_y)

Cursor Y position in window

View source

Function: SetCursorScreenPos
C++void ImGui::SetCursorScreenPos(ImGui_Context* ctx, double pos_x, double pos_y)
EELImGui_SetCursorScreenPos(ImGui_Context ctx, pos_x, pos_y)
Legacy EELextension_api("ImGui_SetCursorScreenPos", ImGui_Context ctx, pos_x, pos_y)
Luareaper.ImGui_SetCursorScreenPos(ImGui_Context ctx, number pos_x, number pos_y)
PythonImGui_SetCursorScreenPos(ImGui_Context ctx, float pos_x, float pos_y)

Cursor position in absolute screen coordinates.

View source

Function: Spacing
C++void ImGui::Spacing(ImGui_Context* ctx)
EELImGui_Spacing(ImGui_Context ctx)
Legacy EELextension_api("ImGui_Spacing", ImGui_Context ctx)
Luareaper.ImGui_Spacing(ImGui_Context ctx)
PythonImGui_Spacing(ImGui_Context ctx)

Add vertical spacing.

View source

Function: Unindent
C++void ImGui::Unindent(ImGui_Context* ctx, double* indent_wInOptional = 0.0)
EELImGui_Unindent(ImGui_Context ctx, indent_w = 0.0)
Legacy EELextension_api("ImGui_Unindent", ImGui_Context ctx, indent_w = 0.0)
Luareaper.ImGui_Unindent(ImGui_Context ctx, number indent_w = 0.0)
PythonImGui_Unindent(ImGui_Context ctx, float indent_w = 0.0)

Move content position back to the left, by 'indent_w', or StyleVar_IndentSpacing if 'indent_w' <= 0

View source


List Clipper

Helper to manually clip large list of items.

If you have lots evenly spaced items and you have random access to the list, you can perform coarse clipping based on visibility to only submit items that are in view.

The clipper calculates the range of visible items and advance the cursor to compensate for the non-visible items we have skipped. (Dear ImGui already clip items based on their bounds but: it needs to first layout the item to do so, and generally fetching/submitting your own data incurs additional cost. Coarse clipping using ImGui_ListClipper allows you to easily scale using lists with tens of thousands of items without a problem.)

Usage:

if not reaper.ImGui_ValidatePtr(clipper, 'ImGui_ListClipper*') then
  clipper = reaper.ImGui_CreateListClipper(ctx)
end
reaper.ImGui_ListClipper_Begin(clipper, 1000) -- We have 1000 elements, evenly spaced
while reaper.ImGui_ListClipper_Step(clipper) do
  local display_start, display_end = reaper.ImGui_ListClipper_GetDisplayRange(clipper)
  for row = display_start, display_end - 1 do
    reaper.ImGui_Text(ctx, ("line number %d"):format(row))
  end
end

Generally what happens is:

Function: CreateListClipper
C++ImGui_ListClipper* ImGui::CreateListClipper(ImGui_Context* ctx)
EELImGui_ListClipper* ImGui_CreateListClipper(ImGui_Context ctx)
Legacy EELImGui_ListClipper* extension_api("ImGui_CreateListClipper", ImGui_Context ctx)
LuaImGui_ListClipper retval = reaper.ImGui_CreateListClipper(ImGui_Context ctx)
PythonImGui_ListClipper retval = ImGui_CreateListClipper(ImGui_Context ctx)

The returned clipper object is only valid for the given context and is valid as long as it is used in each defer cycle unless attached (see Attach).

View source

Function: ListClipper_Begin
C++void ImGui::ListClipper_Begin(ImGui_ListClipper* clipper, int items_count, double* items_heightInOptional = -1.0)
EELImGui_ListClipper_Begin(ImGui_ListClipper clipper, int items_count, items_height = -1.0)
Legacy EELextension_api("ImGui_ListClipper_Begin", ImGui_ListClipper clipper, int items_count, items_height = -1.0)
Luareaper.ImGui_ListClipper_Begin(ImGui_ListClipper clipper, number items_count, number items_height = -1.0)
PythonImGui_ListClipper_Begin(ImGui_ListClipper clipper, int items_count, float items_height = -1.0)

View source

Function: ListClipper_End
C++void ImGui::ListClipper_End(ImGui_ListClipper* clipper)
EELImGui_ListClipper_End(ImGui_ListClipper clipper)
Legacy EELextension_api("ImGui_ListClipper_End", ImGui_ListClipper clipper)
Luareaper.ImGui_ListClipper_End(ImGui_ListClipper clipper)
PythonImGui_ListClipper_End(ImGui_ListClipper clipper)

Automatically called on the last call of ListClipper_Step that returns false.

View source

Function: ListClipper_GetDisplayRange
C++void ImGui::ListClipper_GetDisplayRange(ImGui_ListClipper* clipper, int* display_startOut, int* display_endOut)
EELImGui_ListClipper_GetDisplayRange(ImGui_ListClipper clipper, int &display_start, int &display_end)
Legacy EELextension_api("ImGui_ListClipper_GetDisplayRange", ImGui_ListClipper clipper, int &display_start, int &display_end)
Luanumber display_start, number display_end = reaper.ImGui_ListClipper_GetDisplayRange(ImGui_ListClipper clipper)
Python(int display_start, int display_end) = ImGui_ListClipper_GetDisplayRange(ImGui_ListClipper clipper)

View source

Function: ListClipper_IncludeRangeByIndices
C++void ImGui::ListClipper_IncludeRangeByIndices(ImGui_ListClipper* clipper, int item_begin, int item_end)
EELImGui_ListClipper_IncludeRangeByIndices(ImGui_ListClipper clipper, int item_begin, int item_end)
Legacy EELextension_api("ImGui_ListClipper_IncludeRangeByIndices", ImGui_ListClipper clipper, int item_begin, int item_end)
Luareaper.ImGui_ListClipper_IncludeRangeByIndices(ImGui_ListClipper clipper, number item_begin, number item_end)
PythonImGui_ListClipper_IncludeRangeByIndices(ImGui_ListClipper clipper, int item_begin, int item_end)

Call ListClipper_IncludeRangeByIndices before first call to ListClipper_Step if you need a range of items to be displayed regardless of visibility.

(Due to alignment / padding of certain items it is possible that an extra item may be included on either end of the display range).

item_end is exclusive e.g. use (42, 42+1) to make item 42 never clipped.

View source

Function: ListClipper_Step
C++bool ImGui::ListClipper_Step(ImGui_ListClipper* clipper)
EELbool ImGui_ListClipper_Step(ImGui_ListClipper clipper)
Legacy EELbool extension_api("ImGui_ListClipper_Step", ImGui_ListClipper clipper)
Luaboolean retval = reaper.ImGui_ListClipper_Step(ImGui_ListClipper clipper)
Pythonbool retval = ImGui_ListClipper_Step(ImGui_ListClipper clipper)

Call until it returns false. The display_start/display_end fields from ListClipper_GetDisplayRange will be set and you can process/draw those items.

View source


Function: BeginMenu
C++bool ImGui::BeginMenu(ImGui_Context* ctx, const char* label, bool* enabledInOptional = true)
EELbool ImGui_BeginMenu(ImGui_Context ctx, "label", bool enabled = true)
Legacy EELbool extension_api("ImGui_BeginMenu", ImGui_Context ctx, "label", bool enabled = true)
Luaboolean retval = reaper.ImGui_BeginMenu(ImGui_Context ctx, string label, boolean enabled = true)
Pythonbool retval = ImGui_BeginMenu(ImGui_Context ctx, str label, bool enabled = true)

Create a sub-menu entry. only call EndMenu if this returns true!

View source

Function: BeginMenuBar
C++bool ImGui::BeginMenuBar(ImGui_Context* ctx)
EELbool ImGui_BeginMenuBar(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_BeginMenuBar", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_BeginMenuBar(ImGui_Context ctx)
Pythonbool retval = ImGui_BeginMenuBar(ImGui_Context ctx)

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

View source

Function: EndMenu
C++void ImGui::EndMenu(ImGui_Context* ctx)
EELImGui_EndMenu(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndMenu", ImGui_Context ctx)
Luareaper.ImGui_EndMenu(ImGui_Context ctx)
PythonImGui_EndMenu(ImGui_Context ctx)

Only call EndMenu() if BeginMenu returns true!

View source

Function: EndMenuBar
C++void ImGui::EndMenuBar(ImGui_Context* ctx)
EELImGui_EndMenuBar(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndMenuBar", ImGui_Context ctx)
Luareaper.ImGui_EndMenuBar(ImGui_Context ctx)
PythonImGui_EndMenuBar(ImGui_Context ctx)

Only call EndMenuBar if BeginMenuBar returns true!

View source


Plot

Simple data plotting using reaper_array as data source.

Function: PlotHistogram
C++void ImGui::PlotHistogram(ImGui_Context* ctx, const char* label, reaper_array* values, int* values_offsetInOptional = 0, const char* overlay_textInOptional = nullptr, double* scale_minInOptional = FLT_MAX, double* scale_maxInOptional = FLT_MAX, double* graph_size_wInOptional = 0.0, double* graph_size_hInOptional = 0.0)
EELImGui_PlotHistogram(ImGui_Context ctx, "label", reaper_array values, int values_offset = 0, "overlay_text" = 0, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size_w = 0.0, graph_size_h = 0.0)
Legacy EELextension_api("ImGui_PlotHistogram", ImGui_Context ctx, "label", reaper_array values, int values_offset = 0, "overlay_text" = 0, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size_w = 0.0, graph_size_h = 0.0)
Luareaper.ImGui_PlotHistogram(ImGui_Context ctx, string label, reaper_array values, number values_offset = 0, string overlay_text = nil, number scale_min = FLT_MAX, number scale_max = FLT_MAX, number graph_size_w = 0.0, number graph_size_h = 0.0)
PythonImGui_PlotHistogram(ImGui_Context ctx, str label, reaper_array values, int values_offset = 0, str overlay_text = None, float scale_min = FLT_MAX, float scale_max = FLT_MAX, float graph_size_w = 0.0, float graph_size_h = 0.0)

View source

Function: PlotLines
C++void ImGui::PlotLines(ImGui_Context* ctx, const char* label, reaper_array* values, int* values_offsetInOptional = 0, const char* overlay_textInOptional = nullptr, double* scale_minInOptional = FLT_MAX, double* scale_maxInOptional = FLT_MAX, double* graph_size_wInOptional = 0.0, double* graph_size_hInOptional = 0.0)
EELImGui_PlotLines(ImGui_Context ctx, "label", reaper_array values, int values_offset = 0, "overlay_text" = 0, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size_w = 0.0, graph_size_h = 0.0)
Legacy EELextension_api("ImGui_PlotLines", ImGui_Context ctx, "label", reaper_array values, int values_offset = 0, "overlay_text" = 0, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size_w = 0.0, graph_size_h = 0.0)
Luareaper.ImGui_PlotLines(ImGui_Context ctx, string label, reaper_array values, number values_offset = 0, string overlay_text = nil, number scale_min = FLT_MAX, number scale_max = FLT_MAX, number graph_size_w = 0.0, number graph_size_h = 0.0)
PythonImGui_PlotLines(ImGui_Context ctx, str label, reaper_array values, int values_offset = 0, str overlay_text = None, float scale_min = FLT_MAX, float scale_max = FLT_MAX, float graph_size_w = 0.0, float graph_size_h = 0.0)

View source


The 3 properties above are related: we need to retain popup visibility state in the library because popups may be closed as any time.

You can bypass the hovering restriction by using HoveredFlags_AllowWhenBlockedByPopup when calling IsItemHovered or IsWindowHovered.

IMPORTANT: Popup identifiers are relative to the current ID stack, so OpenPopup and BeginPopup generally needs to be at the same level of the stack.

Function: BeginPopup
C++bool ImGui::BeginPopup(ImGui_Context* ctx, const char* str_id, int* flagsInOptional = WindowFlags_None)
EELbool ImGui_BeginPopup(ImGui_Context ctx, "str_id", int flags = WindowFlags_None)
Legacy EELbool extension_api("ImGui_BeginPopup", ImGui_Context ctx, "str_id", int flags = WindowFlags_None)
Luaboolean retval = reaper.ImGui_BeginPopup(ImGui_Context ctx, string str_id, number flags = WindowFlags_None)
Pythonbool retval = ImGui_BeginPopup(ImGui_Context ctx, str str_id, int flags = WindowFlags_None)

Query popup state, if open start appending into the window. Call EndPopup afterwards. WindowFlags* are forwarded to the window.

Return true if the popup is open, and you can start outputting to it.

View source

Function: BeginPopupModal
C++bool ImGui::BeginPopupModal(ImGui_Context* ctx, const char* name, bool* p_openInOutOptional = nullptr, int* flagsInOptional = WindowFlags_None)
EELbool ImGui_BeginPopupModal(ImGui_Context ctx, "name", bool &p_open = 0, int flags = WindowFlags_None)
Legacy EELbool extension_api("ImGui_BeginPopupModal", ImGui_Context ctx, "name", bool &p_open = 0, int flags = WindowFlags_None)
Luaboolean retval, boolean p_open = reaper.ImGui_BeginPopupModal(ImGui_Context ctx, string name, boolean p_open = nil, number flags = WindowFlags_None)
Python(bool retval, bool p_open) = ImGui_BeginPopupModal(ImGui_Context ctx, str name, bool p_open = None, int flags = WindowFlags_None)

Block every interaction behind the window, cannot be closed by user, add a dimming background, has a title bar. Return true if the modal is open, and you can start outputting to it. See BeginPopup.

View source

Function: CloseCurrentPopup
C++void ImGui::CloseCurrentPopup(ImGui_Context* ctx)
EELImGui_CloseCurrentPopup(ImGui_Context ctx)
Legacy EELextension_api("ImGui_CloseCurrentPopup", ImGui_Context ctx)
Luareaper.ImGui_CloseCurrentPopup(ImGui_Context ctx)
PythonImGui_CloseCurrentPopup(ImGui_Context ctx)

Manually close the popup we have begin-ed into. Use inside the BeginPopup/EndPopup scope to close manually.

CloseCurrentPopup() is called by default by Selectable/MenuItem when activated.

View source

Function: EndPopup
C++void ImGui::EndPopup(ImGui_Context* ctx)
EELImGui_EndPopup(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndPopup", ImGui_Context ctx)
Luareaper.ImGui_EndPopup(ImGui_Context ctx)
PythonImGui_EndPopup(ImGui_Context ctx)

Only call EndPopup() if BeginPopup*() returns true!

View source

Function: IsPopupOpen
C++bool ImGui::IsPopupOpen(ImGui_Context* ctx, const char* str_id, int* flagsInOptional = PopupFlags_None)
EELbool ImGui_IsPopupOpen(ImGui_Context ctx, "str_id", int flags = PopupFlags_None)
Legacy EELbool extension_api("ImGui_IsPopupOpen", ImGui_Context ctx, "str_id", int flags = PopupFlags_None)
Luaboolean retval = reaper.ImGui_IsPopupOpen(ImGui_Context ctx, string str_id, number flags = PopupFlags_None)
Pythonbool retval = ImGui_IsPopupOpen(ImGui_Context ctx, str str_id, int flags = PopupFlags_None)

Return true if the popup is open at the current BeginPopup level of the popup stack.

View source

Function: OpenPopup
C++void ImGui::OpenPopup(ImGui_Context* ctx, const char* str_id, int* popup_flagsInOptional = PopupFlags_None)
EELImGui_OpenPopup(ImGui_Context ctx, "str_id", int popup_flags = PopupFlags_None)
Legacy EELextension_api("ImGui_OpenPopup", ImGui_Context ctx, "str_id", int popup_flags = PopupFlags_None)
Luareaper.ImGui_OpenPopup(ImGui_Context ctx, string str_id, number popup_flags = PopupFlags_None)
PythonImGui_OpenPopup(ImGui_Context ctx, str str_id, int popup_flags = PopupFlags_None)

Set popup state to open (don't call every frame!). ImGuiPopupFlags are available for opening options.

If not modal: they can be closed by clicking anywhere outside them, or by pressing ESCAPE.

Use PopupFlags_NoOpenOverExistingPopup to avoid opening a popup if there's already one at the same level.

View source

Function: OpenPopupOnItemClick
C++void ImGui::OpenPopupOnItemClick(ImGui_Context* ctx, const char* str_idInOptional = nullptr, int* popup_flagsInOptional = PopupFlags_MouseButtonRight)
EELImGui_OpenPopupOnItemClick(ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Legacy EELextension_api("ImGui_OpenPopupOnItemClick", ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Luareaper.ImGui_OpenPopupOnItemClick(ImGui_Context ctx, string str_id = nil, number popup_flags = PopupFlags_MouseButtonRight)
PythonImGui_OpenPopupOnItemClick(ImGui_Context ctx, str str_id = None, int popup_flags = PopupFlags_MouseButtonRight)

Helper to open popup when clicked on last item. return true when just opened. (Note: actually triggers on the mouse released event to be consistent with popup behaviors.)

View source

For OpenPopup*(), BeginPopupContext*() and IsPopupOpen.

Constant: PopupFlags_NoOpenOverExistingPopup
C++int ImGui::PopupFlags_NoOpenOverExistingPopup
EELint ImGui_PopupFlags_NoOpenOverExistingPopup()
Legacy EELint extension_api("ImGui_PopupFlags_NoOpenOverExistingPopup")
Luanumber retval = reaper.ImGui_PopupFlags_NoOpenOverExistingPopup()
Pythonint retval = ImGui_PopupFlags_NoOpenOverExistingPopup()

For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack.

View source

Constant: PopupFlags_None
C++int ImGui::PopupFlags_None
EELint ImGui_PopupFlags_None()
Legacy EELint extension_api("ImGui_PopupFlags_None")
Luanumber retval = reaper.ImGui_PopupFlags_None()
Pythonint retval = ImGui_PopupFlags_None()

View source

Constant: PopupFlags_MouseButtonLeft
C++int ImGui::PopupFlags_MouseButtonLeft
EELint ImGui_PopupFlags_MouseButtonLeft()
Legacy EELint extension_api("ImGui_PopupFlags_MouseButtonLeft")
Luanumber retval = reaper.ImGui_PopupFlags_MouseButtonLeft()
Pythonint retval = ImGui_PopupFlags_MouseButtonLeft()

For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as MouseButton_Left).

View source

Constant: PopupFlags_MouseButtonMiddle
C++int ImGui::PopupFlags_MouseButtonMiddle
EELint ImGui_PopupFlags_MouseButtonMiddle()
Legacy EELint extension_api("ImGui_PopupFlags_MouseButtonMiddle")
Luanumber retval = reaper.ImGui_PopupFlags_MouseButtonMiddle()
Pythonint retval = ImGui_PopupFlags_MouseButtonMiddle()

For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as MouseButton_Middle).

View source

Constant: PopupFlags_MouseButtonRight
C++int ImGui::PopupFlags_MouseButtonRight
EELint ImGui_PopupFlags_MouseButtonRight()
Legacy EELint extension_api("ImGui_PopupFlags_MouseButtonRight")
Luanumber retval = reaper.ImGui_PopupFlags_MouseButtonRight()
Pythonint retval = ImGui_PopupFlags_MouseButtonRight()

For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as MouseButton_Right).

View source

Constant: PopupFlags_NoOpenOverItems
C++int ImGui::PopupFlags_NoOpenOverItems
EELint ImGui_PopupFlags_NoOpenOverItems()
Legacy EELint extension_api("ImGui_PopupFlags_NoOpenOverItems")
Luanumber retval = reaper.ImGui_PopupFlags_NoOpenOverItems()
Pythonint retval = ImGui_PopupFlags_NoOpenOverItems()

For BeginPopupContextWindow: don't return true when hovering items, only when hovering empty space.

View source

Constant: PopupFlags_AnyPopup
C++int ImGui::PopupFlags_AnyPopup
EELint ImGui_PopupFlags_AnyPopup()
Legacy EELint extension_api("ImGui_PopupFlags_AnyPopup")
Luanumber retval = reaper.ImGui_PopupFlags_AnyPopup()
Pythonint retval = ImGui_PopupFlags_AnyPopup()

PopupFlags_AnyPopupId | PopupFlags_AnyPopupLevel

View source

Constant: PopupFlags_AnyPopupId
C++int ImGui::PopupFlags_AnyPopupId
EELint ImGui_PopupFlags_AnyPopupId()
Legacy EELint extension_api("ImGui_PopupFlags_AnyPopupId")
Luanumber retval = reaper.ImGui_PopupFlags_AnyPopupId()
Pythonint retval = ImGui_PopupFlags_AnyPopupId()

For IsPopupOpen: ignore the str_id parameter and test for any popup.

View source

Constant: PopupFlags_AnyPopupLevel
C++int ImGui::PopupFlags_AnyPopupLevel
EELint ImGui_PopupFlags_AnyPopupLevel()
Legacy EELint extension_api("ImGui_PopupFlags_AnyPopupLevel")
Luanumber retval = reaper.ImGui_PopupFlags_AnyPopupLevel()
Pythonint retval = ImGui_PopupFlags_AnyPopupLevel()

For IsPopupOpen: search/test at any level of the popup stack (default test in the current level).

View source

Helpers to do OpenPopup+BeginPopup where the Open action is triggered by e.g. hovering an item and right-clicking. They are convenient to easily create context menus, hence the name.

Notice that BeginPopupContext* takes PopupFlags_* just like OpenPopup and unlike BeginPopup.

We exceptionally default their flags to 1 (== PopupFlags_MouseButtonRight) for backward compatibility with older API taking 'int mouse_button = 1' parameter, so if you add other flags remember to re-add the PopupFlags_MouseButtonRight.

Function: BeginPopupContextItem
C++bool ImGui::BeginPopupContextItem(ImGui_Context* ctx, const char* str_idInOptional = nullptr, int* popup_flagsInOptional = PopupFlags_MouseButtonRight)
EELbool ImGui_BeginPopupContextItem(ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Legacy EELbool extension_api("ImGui_BeginPopupContextItem", ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Luaboolean retval = reaper.ImGui_BeginPopupContextItem(ImGui_Context ctx, string str_id = nil, number popup_flags = PopupFlags_MouseButtonRight)
Pythonbool retval = ImGui_BeginPopupContextItem(ImGui_Context ctx, str str_id = None, int popup_flags = PopupFlags_MouseButtonRight)

This is a helper to handle the simplest case of associating one named popup to one given widget. You can pass a nil str_id to use the identifier of the last item. This is essentially the same as calling OpenPopupOnItemClick + BeginPopup but written to avoid computing the ID twice because BeginPopupContext* functions may be called very frequently.

If you want to use that on a non-interactive item such as Text you need to pass in an explicit ID here.

View source

Function: BeginPopupContextWindow
C++bool ImGui::BeginPopupContextWindow(ImGui_Context* ctx, const char* str_idInOptional = nullptr, int* popup_flagsInOptional = PopupFlags_MouseButtonRight)
EELbool ImGui_BeginPopupContextWindow(ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Legacy EELbool extension_api("ImGui_BeginPopupContextWindow", ImGui_Context ctx, "str_id" = 0, int popup_flags = PopupFlags_MouseButtonRight)
Luaboolean retval = reaper.ImGui_BeginPopupContextWindow(ImGui_Context ctx, string str_id = nil, number popup_flags = PopupFlags_MouseButtonRight)
Pythonbool retval = ImGui_BeginPopupContextWindow(ImGui_Context ctx, str str_id = None, int popup_flags = PopupFlags_MouseButtonRight)

Open+begin popup when clicked on current window.

View source

Tooltip are windows following the mouse. They do not take focus away.

Function: BeginTooltip
C++bool ImGui::BeginTooltip(ImGui_Context* ctx)
EELbool ImGui_BeginTooltip(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_BeginTooltip", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_BeginTooltip(ImGui_Context ctx)
Pythonbool retval = ImGui_BeginTooltip(ImGui_Context ctx)

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

View source

Function: EndTooltip
C++void ImGui::EndTooltip(ImGui_Context* ctx)
EELImGui_EndTooltip(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndTooltip", ImGui_Context ctx)
Luareaper.ImGui_EndTooltip(ImGui_Context ctx)
PythonImGui_EndTooltip(ImGui_Context ctx)

Only call EndTooltip() if BeginTooltip() returns true.

View source

Function: SetTooltip
C++void ImGui::SetTooltip(ImGui_Context* ctx, const char* text)
EELImGui_SetTooltip(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_SetTooltip", ImGui_Context ctx, "text")
Luareaper.ImGui_SetTooltip(ImGui_Context ctx, string text)
PythonImGui_SetTooltip(ImGui_Context ctx, str text)

Set a text-only tooltip, typically use with IsItemHovered. override any previous call to SetTooltip.

View source


Style

Colors

Constant: Col_Border
C++int ImGui::Col_Border
EELint ImGui_Col_Border()
Legacy EELint extension_api("ImGui_Col_Border")
Luanumber retval = reaper.ImGui_Col_Border()
Pythonint retval = ImGui_Col_Border()

View source

Constant: Col_BorderShadow
C++int ImGui::Col_BorderShadow
EELint ImGui_Col_BorderShadow()
Legacy EELint extension_api("ImGui_Col_BorderShadow")
Luanumber retval = reaper.ImGui_Col_BorderShadow()
Pythonint retval = ImGui_Col_BorderShadow()

View source

Constant: Col_Button
C++int ImGui::Col_Button
EELint ImGui_Col_Button()
Legacy EELint extension_api("ImGui_Col_Button")
Luanumber retval = reaper.ImGui_Col_Button()
Pythonint retval = ImGui_Col_Button()

View source

Constant: Col_ButtonActive
C++int ImGui::Col_ButtonActive
EELint ImGui_Col_ButtonActive()
Legacy EELint extension_api("ImGui_Col_ButtonActive")
Luanumber retval = reaper.ImGui_Col_ButtonActive()
Pythonint retval = ImGui_Col_ButtonActive()

View source

Constant: Col_ButtonHovered
C++int ImGui::Col_ButtonHovered
EELint ImGui_Col_ButtonHovered()
Legacy EELint extension_api("ImGui_Col_ButtonHovered")
Luanumber retval = reaper.ImGui_Col_ButtonHovered()
Pythonint retval = ImGui_Col_ButtonHovered()

View source

Constant: Col_CheckMark
C++int ImGui::Col_CheckMark
EELint ImGui_Col_CheckMark()
Legacy EELint extension_api("ImGui_Col_CheckMark")
Luanumber retval = reaper.ImGui_Col_CheckMark()
Pythonint retval = ImGui_Col_CheckMark()

View source

Constant: Col_ChildBg
C++int ImGui::Col_ChildBg
EELint ImGui_Col_ChildBg()
Legacy EELint extension_api("ImGui_Col_ChildBg")
Luanumber retval = reaper.ImGui_Col_ChildBg()
Pythonint retval = ImGui_Col_ChildBg()

Background of child windows.

View source

Constant: Col_DockingEmptyBg
C++int ImGui::Col_DockingEmptyBg
EELint ImGui_Col_DockingEmptyBg()
Legacy EELint extension_api("ImGui_Col_DockingEmptyBg")
Luanumber retval = reaper.ImGui_Col_DockingEmptyBg()
Pythonint retval = ImGui_Col_DockingEmptyBg()

Background color for empty node (e.g. CentralNode with no window docked into it).

View source

Constant: Col_DockingPreview
C++int ImGui::Col_DockingPreview
EELint ImGui_Col_DockingPreview()
Legacy EELint extension_api("ImGui_Col_DockingPreview")
Luanumber retval = reaper.ImGui_Col_DockingPreview()
Pythonint retval = ImGui_Col_DockingPreview()

Preview overlay color when about to docking something.

View source

Constant: Col_DragDropTarget
C++int ImGui::Col_DragDropTarget
EELint ImGui_Col_DragDropTarget()
Legacy EELint extension_api("ImGui_Col_DragDropTarget")
Luanumber retval = reaper.ImGui_Col_DragDropTarget()
Pythonint retval = ImGui_Col_DragDropTarget()

Rectangle highlighting a drop target

View source

Constant: Col_FrameBg
C++int ImGui::Col_FrameBg
EELint ImGui_Col_FrameBg()
Legacy EELint extension_api("ImGui_Col_FrameBg")
Luanumber retval = reaper.ImGui_Col_FrameBg()
Pythonint retval = ImGui_Col_FrameBg()

Background of checkbox, radio button, plot, slider, text input.

View source

Constant: Col_FrameBgActive
C++int ImGui::Col_FrameBgActive
EELint ImGui_Col_FrameBgActive()
Legacy EELint extension_api("ImGui_Col_FrameBgActive")
Luanumber retval = reaper.ImGui_Col_FrameBgActive()
Pythonint retval = ImGui_Col_FrameBgActive()

View source

Constant: Col_FrameBgHovered
C++int ImGui::Col_FrameBgHovered
EELint ImGui_Col_FrameBgHovered()
Legacy EELint extension_api("ImGui_Col_FrameBgHovered")
Luanumber retval = reaper.ImGui_Col_FrameBgHovered()
Pythonint retval = ImGui_Col_FrameBgHovered()

View source

Constant: Col_Header
C++int ImGui::Col_Header
EELint ImGui_Col_Header()
Legacy EELint extension_api("ImGui_Col_Header")
Luanumber retval = reaper.ImGui_Col_Header()
Pythonint retval = ImGui_Col_Header()

Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem.

View source

Constant: Col_HeaderActive
C++int ImGui::Col_HeaderActive
EELint ImGui_Col_HeaderActive()
Legacy EELint extension_api("ImGui_Col_HeaderActive")
Luanumber retval = reaper.ImGui_Col_HeaderActive()
Pythonint retval = ImGui_Col_HeaderActive()

View source

Constant: Col_HeaderHovered
C++int ImGui::Col_HeaderHovered
EELint ImGui_Col_HeaderHovered()
Legacy EELint extension_api("ImGui_Col_HeaderHovered")
Luanumber retval = reaper.ImGui_Col_HeaderHovered()
Pythonint retval = ImGui_Col_HeaderHovered()

View source

Constant: Col_MenuBarBg
C++int ImGui::Col_MenuBarBg
EELint ImGui_Col_MenuBarBg()
Legacy EELint extension_api("ImGui_Col_MenuBarBg")
Luanumber retval = reaper.ImGui_Col_MenuBarBg()
Pythonint retval = ImGui_Col_MenuBarBg()

View source

Constant: Col_ModalWindowDimBg
C++int ImGui::Col_ModalWindowDimBg
EELint ImGui_Col_ModalWindowDimBg()
Legacy EELint extension_api("ImGui_Col_ModalWindowDimBg")
Luanumber retval = reaper.ImGui_Col_ModalWindowDimBg()
Pythonint retval = ImGui_Col_ModalWindowDimBg()

Darken/colorize entire screen behind a modal window, when one is active.

View source

Constant: Col_NavHighlight
C++int ImGui::Col_NavHighlight
EELint ImGui_Col_NavHighlight()
Legacy EELint extension_api("ImGui_Col_NavHighlight")
Luanumber retval = reaper.ImGui_Col_NavHighlight()
Pythonint retval = ImGui_Col_NavHighlight()

Gamepad/keyboard: current highlighted item.

View source

Constant: Col_NavWindowingDimBg
C++int ImGui::Col_NavWindowingDimBg
EELint ImGui_Col_NavWindowingDimBg()
Legacy EELint extension_api("ImGui_Col_NavWindowingDimBg")
Luanumber retval = reaper.ImGui_Col_NavWindowingDimBg()
Pythonint retval = ImGui_Col_NavWindowingDimBg()

Darken/colorize entire screen behind the CTRL+TAB window list, when active.

View source

Constant: Col_NavWindowingHighlight
C++int ImGui::Col_NavWindowingHighlight
EELint ImGui_Col_NavWindowingHighlight()
Legacy EELint extension_api("ImGui_Col_NavWindowingHighlight")
Luanumber retval = reaper.ImGui_Col_NavWindowingHighlight()
Pythonint retval = ImGui_Col_NavWindowingHighlight()

Highlight window when using CTRL+TAB.

View source

Constant: Col_PlotHistogram
C++int ImGui::Col_PlotHistogram
EELint ImGui_Col_PlotHistogram()
Legacy EELint extension_api("ImGui_Col_PlotHistogram")
Luanumber retval = reaper.ImGui_Col_PlotHistogram()
Pythonint retval = ImGui_Col_PlotHistogram()

View source

Constant: Col_PlotHistogramHovered
C++int ImGui::Col_PlotHistogramHovered
EELint ImGui_Col_PlotHistogramHovered()
Legacy EELint extension_api("ImGui_Col_PlotHistogramHovered")
Luanumber retval = reaper.ImGui_Col_PlotHistogramHovered()
Pythonint retval = ImGui_Col_PlotHistogramHovered()

View source

Constant: Col_PlotLines
C++int ImGui::Col_PlotLines
EELint ImGui_Col_PlotLines()
Legacy EELint extension_api("ImGui_Col_PlotLines")
Luanumber retval = reaper.ImGui_Col_PlotLines()
Pythonint retval = ImGui_Col_PlotLines()

View source

Constant: Col_PlotLinesHovered
C++int ImGui::Col_PlotLinesHovered
EELint ImGui_Col_PlotLinesHovered()
Legacy EELint extension_api("ImGui_Col_PlotLinesHovered")
Luanumber retval = reaper.ImGui_Col_PlotLinesHovered()
Pythonint retval = ImGui_Col_PlotLinesHovered()

View source

Constant: Col_PopupBg
C++int ImGui::Col_PopupBg
EELint ImGui_Col_PopupBg()
Legacy EELint extension_api("ImGui_Col_PopupBg")
Luanumber retval = reaper.ImGui_Col_PopupBg()
Pythonint retval = ImGui_Col_PopupBg()

Background of popups, menus, tooltips windows.

View source

Constant: Col_ResizeGrip
C++int ImGui::Col_ResizeGrip
EELint ImGui_Col_ResizeGrip()
Legacy EELint extension_api("ImGui_Col_ResizeGrip")
Luanumber retval = reaper.ImGui_Col_ResizeGrip()
Pythonint retval = ImGui_Col_ResizeGrip()

Resize grip in lower-right and lower-left corners of windows.

View source

Constant: Col_ResizeGripActive
C++int ImGui::Col_ResizeGripActive
EELint ImGui_Col_ResizeGripActive()
Legacy EELint extension_api("ImGui_Col_ResizeGripActive")
Luanumber retval = reaper.ImGui_Col_ResizeGripActive()
Pythonint retval = ImGui_Col_ResizeGripActive()

View source

Constant: Col_ResizeGripHovered
C++int ImGui::Col_ResizeGripHovered
EELint ImGui_Col_ResizeGripHovered()
Legacy EELint extension_api("ImGui_Col_ResizeGripHovered")
Luanumber retval = reaper.ImGui_Col_ResizeGripHovered()
Pythonint retval = ImGui_Col_ResizeGripHovered()

View source

Constant: Col_ScrollbarBg
C++int ImGui::Col_ScrollbarBg
EELint ImGui_Col_ScrollbarBg()
Legacy EELint extension_api("ImGui_Col_ScrollbarBg")
Luanumber retval = reaper.ImGui_Col_ScrollbarBg()
Pythonint retval = ImGui_Col_ScrollbarBg()

View source

Constant: Col_ScrollbarGrab
C++int ImGui::Col_ScrollbarGrab
EELint ImGui_Col_ScrollbarGrab()
Legacy EELint extension_api("ImGui_Col_ScrollbarGrab")
Luanumber retval = reaper.ImGui_Col_ScrollbarGrab()
Pythonint retval = ImGui_Col_ScrollbarGrab()

View source

Constant: Col_ScrollbarGrabActive
C++int ImGui::Col_ScrollbarGrabActive
EELint ImGui_Col_ScrollbarGrabActive()
Legacy EELint extension_api("ImGui_Col_ScrollbarGrabActive")
Luanumber retval = reaper.ImGui_Col_ScrollbarGrabActive()
Pythonint retval = ImGui_Col_ScrollbarGrabActive()

View source

Constant: Col_ScrollbarGrabHovered
C++int ImGui::Col_ScrollbarGrabHovered
EELint ImGui_Col_ScrollbarGrabHovered()
Legacy EELint extension_api("ImGui_Col_ScrollbarGrabHovered")
Luanumber retval = reaper.ImGui_Col_ScrollbarGrabHovered()
Pythonint retval = ImGui_Col_ScrollbarGrabHovered()

View source

Constant: Col_Separator
C++int ImGui::Col_Separator
EELint ImGui_Col_Separator()
Legacy EELint extension_api("ImGui_Col_Separator")
Luanumber retval = reaper.ImGui_Col_Separator()
Pythonint retval = ImGui_Col_Separator()

View source

Constant: Col_SeparatorActive
C++int ImGui::Col_SeparatorActive
EELint ImGui_Col_SeparatorActive()
Legacy EELint extension_api("ImGui_Col_SeparatorActive")
Luanumber retval = reaper.ImGui_Col_SeparatorActive()
Pythonint retval = ImGui_Col_SeparatorActive()

View source

Constant: Col_SeparatorHovered
C++int ImGui::Col_SeparatorHovered
EELint ImGui_Col_SeparatorHovered()
Legacy EELint extension_api("ImGui_Col_SeparatorHovered")
Luanumber retval = reaper.ImGui_Col_SeparatorHovered()
Pythonint retval = ImGui_Col_SeparatorHovered()

View source

Constant: Col_SliderGrab
C++int ImGui::Col_SliderGrab
EELint ImGui_Col_SliderGrab()
Legacy EELint extension_api("ImGui_Col_SliderGrab")
Luanumber retval = reaper.ImGui_Col_SliderGrab()
Pythonint retval = ImGui_Col_SliderGrab()

View source

Constant: Col_SliderGrabActive
C++int ImGui::Col_SliderGrabActive
EELint ImGui_Col_SliderGrabActive()
Legacy EELint extension_api("ImGui_Col_SliderGrabActive")
Luanumber retval = reaper.ImGui_Col_SliderGrabActive()
Pythonint retval = ImGui_Col_SliderGrabActive()

View source

Constant: Col_Tab
C++int ImGui::Col_Tab
EELint ImGui_Col_Tab()
Legacy EELint extension_api("ImGui_Col_Tab")
Luanumber retval = reaper.ImGui_Col_Tab()
Pythonint retval = ImGui_Col_Tab()

TabItem in a TabBar

View source

Constant: Col_TabActive
C++int ImGui::Col_TabActive
EELint ImGui_Col_TabActive()
Legacy EELint extension_api("ImGui_Col_TabActive")
Luanumber retval = reaper.ImGui_Col_TabActive()
Pythonint retval = ImGui_Col_TabActive()

View source

Constant: Col_TabHovered
C++int ImGui::Col_TabHovered
EELint ImGui_Col_TabHovered()
Legacy EELint extension_api("ImGui_Col_TabHovered")
Luanumber retval = reaper.ImGui_Col_TabHovered()
Pythonint retval = ImGui_Col_TabHovered()

View source

Constant: Col_TabUnfocused
C++int ImGui::Col_TabUnfocused
EELint ImGui_Col_TabUnfocused()
Legacy EELint extension_api("ImGui_Col_TabUnfocused")
Luanumber retval = reaper.ImGui_Col_TabUnfocused()
Pythonint retval = ImGui_Col_TabUnfocused()

View source

Constant: Col_TabUnfocusedActive
C++int ImGui::Col_TabUnfocusedActive
EELint ImGui_Col_TabUnfocusedActive()
Legacy EELint extension_api("ImGui_Col_TabUnfocusedActive")
Luanumber retval = reaper.ImGui_Col_TabUnfocusedActive()
Pythonint retval = ImGui_Col_TabUnfocusedActive()

View source

Constant: Col_TableBorderLight
C++int ImGui::Col_TableBorderLight
EELint ImGui_Col_TableBorderLight()
Legacy EELint extension_api("ImGui_Col_TableBorderLight")
Luanumber retval = reaper.ImGui_Col_TableBorderLight()
Pythonint retval = ImGui_Col_TableBorderLight()

Table inner borders (prefer using Alpha=1.0 here).

View source

Constant: Col_TableBorderStrong
C++int ImGui::Col_TableBorderStrong
EELint ImGui_Col_TableBorderStrong()
Legacy EELint extension_api("ImGui_Col_TableBorderStrong")
Luanumber retval = reaper.ImGui_Col_TableBorderStrong()
Pythonint retval = ImGui_Col_TableBorderStrong()

Table outer and header borders (prefer using Alpha=1.0 here).

View source

Constant: Col_TableHeaderBg
C++int ImGui::Col_TableHeaderBg
EELint ImGui_Col_TableHeaderBg()
Legacy EELint extension_api("ImGui_Col_TableHeaderBg")
Luanumber retval = reaper.ImGui_Col_TableHeaderBg()
Pythonint retval = ImGui_Col_TableHeaderBg()

Table header background.

View source

Constant: Col_TableRowBg
C++int ImGui::Col_TableRowBg
EELint ImGui_Col_TableRowBg()
Legacy EELint extension_api("ImGui_Col_TableRowBg")
Luanumber retval = reaper.ImGui_Col_TableRowBg()
Pythonint retval = ImGui_Col_TableRowBg()

Table row background (even rows).

View source

Constant: Col_TableRowBgAlt
C++int ImGui::Col_TableRowBgAlt
EELint ImGui_Col_TableRowBgAlt()
Legacy EELint extension_api("ImGui_Col_TableRowBgAlt")
Luanumber retval = reaper.ImGui_Col_TableRowBgAlt()
Pythonint retval = ImGui_Col_TableRowBgAlt()

Table row background (odd rows).

View source

Constant: Col_Text
C++int ImGui::Col_Text
EELint ImGui_Col_Text()
Legacy EELint extension_api("ImGui_Col_Text")
Luanumber retval = reaper.ImGui_Col_Text()
Pythonint retval = ImGui_Col_Text()

View source

Constant: Col_TextDisabled
C++int ImGui::Col_TextDisabled
EELint ImGui_Col_TextDisabled()
Legacy EELint extension_api("ImGui_Col_TextDisabled")
Luanumber retval = reaper.ImGui_Col_TextDisabled()
Pythonint retval = ImGui_Col_TextDisabled()

View source

Constant: Col_TextSelectedBg
C++int ImGui::Col_TextSelectedBg
EELint ImGui_Col_TextSelectedBg()
Legacy EELint extension_api("ImGui_Col_TextSelectedBg")
Luanumber retval = reaper.ImGui_Col_TextSelectedBg()
Pythonint retval = ImGui_Col_TextSelectedBg()

View source

Constant: Col_TitleBg
C++int ImGui::Col_TitleBg
EELint ImGui_Col_TitleBg()
Legacy EELint extension_api("ImGui_Col_TitleBg")
Luanumber retval = reaper.ImGui_Col_TitleBg()
Pythonint retval = ImGui_Col_TitleBg()

View source

Constant: Col_TitleBgActive
C++int ImGui::Col_TitleBgActive
EELint ImGui_Col_TitleBgActive()
Legacy EELint extension_api("ImGui_Col_TitleBgActive")
Luanumber retval = reaper.ImGui_Col_TitleBgActive()
Pythonint retval = ImGui_Col_TitleBgActive()

View source

Constant: Col_TitleBgCollapsed
C++int ImGui::Col_TitleBgCollapsed
EELint ImGui_Col_TitleBgCollapsed()
Legacy EELint extension_api("ImGui_Col_TitleBgCollapsed")
Luanumber retval = reaper.ImGui_Col_TitleBgCollapsed()
Pythonint retval = ImGui_Col_TitleBgCollapsed()

View source

Constant: Col_WindowBg
C++int ImGui::Col_WindowBg
EELint ImGui_Col_WindowBg()
Legacy EELint extension_api("ImGui_Col_WindowBg")
Luanumber retval = reaper.ImGui_Col_WindowBg()
Pythonint retval = ImGui_Col_WindowBg()

Background of normal windows. See also WindowFlags_NoBackground.

View source

Function: GetColor
C++int ImGui::GetColor(ImGui_Context* ctx, int idx, double* alpha_mulInOptional = 1.0)
EELint ImGui_GetColor(ImGui_Context ctx, int idx, alpha_mul = 1.0)
Legacy EELint extension_api("ImGui_GetColor", ImGui_Context ctx, int idx, alpha_mul = 1.0)
Luanumber retval = reaper.ImGui_GetColor(ImGui_Context ctx, number idx, number alpha_mul = 1.0)
Pythonint retval = ImGui_GetColor(ImGui_Context ctx, int idx, float alpha_mul = 1.0)

Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value (RGBA). See Col_* for available style colors.

View source

Function: GetColorEx
C++int ImGui::GetColorEx(ImGui_Context* ctx, int col_rgba)
EELint ImGui_GetColorEx(ImGui_Context ctx, int col_rgba)
Legacy EELint extension_api("ImGui_GetColorEx", ImGui_Context ctx, int col_rgba)
Luanumber retval = reaper.ImGui_GetColorEx(ImGui_Context ctx, number col_rgba)
Pythonint retval = ImGui_GetColorEx(ImGui_Context ctx, int col_rgba)

Retrieve given color with style alpha applied, packed as a 32-bit value (RGBA).

View source

Function: GetStyleColor
C++int ImGui::GetStyleColor(ImGui_Context* ctx, int idx)
EELint ImGui_GetStyleColor(ImGui_Context ctx, int idx)
Legacy EELint extension_api("ImGui_GetStyleColor", ImGui_Context ctx, int idx)
Luanumber retval = reaper.ImGui_GetStyleColor(ImGui_Context ctx, number idx)
Pythonint retval = ImGui_GetStyleColor(ImGui_Context ctx, int idx)

Retrieve style color as stored in ImGuiStyle structure. Use to feed back into PushStyleColor, Otherwise use GetColor to get style color with style alpha baked in. See Col_* for available style colors.

View source

Function: PopStyleColor
C++void ImGui::PopStyleColor(ImGui_Context* ctx, int* countInOptional = 1)
EELImGui_PopStyleColor(ImGui_Context ctx, int count = 1)
Legacy EELextension_api("ImGui_PopStyleColor", ImGui_Context ctx, int count = 1)
Luareaper.ImGui_PopStyleColor(ImGui_Context ctx, number count = 1)
PythonImGui_PopStyleColor(ImGui_Context ctx, int count = 1)

View source

Function: PushStyleColor
C++void ImGui::PushStyleColor(ImGui_Context* ctx, int idx, int col_rgba)
EELImGui_PushStyleColor(ImGui_Context ctx, int idx, int col_rgba)
Legacy EELextension_api("ImGui_PushStyleColor", ImGui_Context ctx, int idx, int col_rgba)
Luareaper.ImGui_PushStyleColor(ImGui_Context ctx, number idx, number col_rgba)
PythonImGui_PushStyleColor(ImGui_Context ctx, int idx, int col_rgba)

Temporarily modify a style color. Call PopStyleColor to undo after use (before the end of the frame). See Col_* for available style colors.

View source

Variables

Function: GetStyleVar
C++void ImGui::GetStyleVar(ImGui_Context* ctx, int var_idx, double* val1Out, double* val2Out)
EELImGui_GetStyleVar(ImGui_Context ctx, int var_idx, &val1, &val2)
Legacy EELextension_api("ImGui_GetStyleVar", ImGui_Context ctx, int var_idx, &val1, &val2)
Luanumber val1, number val2 = reaper.ImGui_GetStyleVar(ImGui_Context ctx, number var_idx)
Python(float val1, float val2) = ImGui_GetStyleVar(ImGui_Context ctx, int var_idx)

View source

Function: PopStyleVar
C++void ImGui::PopStyleVar(ImGui_Context* ctx, int* countInOptional = 1)
EELImGui_PopStyleVar(ImGui_Context ctx, int count = 1)
Legacy EELextension_api("ImGui_PopStyleVar", ImGui_Context ctx, int count = 1)
Luareaper.ImGui_PopStyleVar(ImGui_Context ctx, number count = 1)
PythonImGui_PopStyleVar(ImGui_Context ctx, int count = 1)

Reset a style variable.

View source

Function: PushStyleVar
C++void ImGui::PushStyleVar(ImGui_Context* ctx, int var_idx, double val1, double* val2InOptional = nullptr)
EELImGui_PushStyleVar(ImGui_Context ctx, int var_idx, val1, val2 = 0)
Legacy EELextension_api("ImGui_PushStyleVar", ImGui_Context ctx, int var_idx, val1, val2 = 0)
Luareaper.ImGui_PushStyleVar(ImGui_Context ctx, number var_idx, number val1, number val2 = nil)
PythonImGui_PushStyleVar(ImGui_Context ctx, int var_idx, float val1, float val2 = None)

Temporarily modify a style variable. Call PopStyleVar to undo after use (before the end of the frame). See StyleVar_* for possible values of 'var_idx'.

View source

Constant: StyleVar_Alpha
C++int ImGui::StyleVar_Alpha
EELint ImGui_StyleVar_Alpha()
Legacy EELint extension_api("ImGui_StyleVar_Alpha")
Luanumber retval = reaper.ImGui_StyleVar_Alpha()
Pythonint retval = ImGui_StyleVar_Alpha()

Global alpha applies to everything in Dear ImGui.

View source

Constant: StyleVar_ButtonTextAlign
C++int ImGui::StyleVar_ButtonTextAlign
EELint ImGui_StyleVar_ButtonTextAlign()
Legacy EELint extension_api("ImGui_StyleVar_ButtonTextAlign")
Luanumber retval = reaper.ImGui_StyleVar_ButtonTextAlign()
Pythonint retval = ImGui_StyleVar_ButtonTextAlign()

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

View source

Constant: StyleVar_CellPadding
C++int ImGui::StyleVar_CellPadding
EELint ImGui_StyleVar_CellPadding()
Legacy EELint extension_api("ImGui_StyleVar_CellPadding")
Luanumber retval = reaper.ImGui_StyleVar_CellPadding()
Pythonint retval = ImGui_StyleVar_CellPadding()

Padding within a table cell.

View source

Constant: StyleVar_ChildBorderSize
C++int ImGui::StyleVar_ChildBorderSize
EELint ImGui_StyleVar_ChildBorderSize()
Legacy EELint extension_api("ImGui_StyleVar_ChildBorderSize")
Luanumber retval = reaper.ImGui_StyleVar_ChildBorderSize()
Pythonint retval = ImGui_StyleVar_ChildBorderSize()

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

View source

Constant: StyleVar_ChildRounding
C++int ImGui::StyleVar_ChildRounding
EELint ImGui_StyleVar_ChildRounding()
Legacy EELint extension_api("ImGui_StyleVar_ChildRounding")
Luanumber retval = reaper.ImGui_StyleVar_ChildRounding()
Pythonint retval = ImGui_StyleVar_ChildRounding()

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

View source

Constant: StyleVar_DisabledAlpha
C++int ImGui::StyleVar_DisabledAlpha
EELint ImGui_StyleVar_DisabledAlpha()
Legacy EELint extension_api("ImGui_StyleVar_DisabledAlpha")
Luanumber retval = reaper.ImGui_StyleVar_DisabledAlpha()
Pythonint retval = ImGui_StyleVar_DisabledAlpha()

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

View source

Constant: StyleVar_FrameBorderSize
C++int ImGui::StyleVar_FrameBorderSize
EELint ImGui_StyleVar_FrameBorderSize()
Legacy EELint extension_api("ImGui_StyleVar_FrameBorderSize")
Luanumber retval = reaper.ImGui_StyleVar_FrameBorderSize()
Pythonint retval = ImGui_StyleVar_FrameBorderSize()

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

View source

Constant: StyleVar_FramePadding
C++int ImGui::StyleVar_FramePadding
EELint ImGui_StyleVar_FramePadding()
Legacy EELint extension_api("ImGui_StyleVar_FramePadding")
Luanumber retval = reaper.ImGui_StyleVar_FramePadding()
Pythonint retval = ImGui_StyleVar_FramePadding()

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

View source

Constant: StyleVar_FrameRounding
C++int ImGui::StyleVar_FrameRounding
EELint ImGui_StyleVar_FrameRounding()
Legacy EELint extension_api("ImGui_StyleVar_FrameRounding")
Luanumber retval = reaper.ImGui_StyleVar_FrameRounding()
Pythonint retval = ImGui_StyleVar_FrameRounding()

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

View source

Constant: StyleVar_GrabMinSize
C++int ImGui::StyleVar_GrabMinSize
EELint ImGui_StyleVar_GrabMinSize()
Legacy EELint extension_api("ImGui_StyleVar_GrabMinSize")
Luanumber retval = reaper.ImGui_StyleVar_GrabMinSize()
Pythonint retval = ImGui_StyleVar_GrabMinSize()

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

View source

Constant: StyleVar_GrabRounding
C++int ImGui::StyleVar_GrabRounding
EELint ImGui_StyleVar_GrabRounding()
Legacy EELint extension_api("ImGui_StyleVar_GrabRounding")
Luanumber retval = reaper.ImGui_StyleVar_GrabRounding()
Pythonint retval = ImGui_StyleVar_GrabRounding()

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

View source

Constant: StyleVar_IndentSpacing
C++int ImGui::StyleVar_IndentSpacing
EELint ImGui_StyleVar_IndentSpacing()
Legacy EELint extension_api("ImGui_StyleVar_IndentSpacing")
Luanumber retval = reaper.ImGui_StyleVar_IndentSpacing()
Pythonint retval = ImGui_StyleVar_IndentSpacing()

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

View source

Constant: StyleVar_ItemInnerSpacing
C++int ImGui::StyleVar_ItemInnerSpacing
EELint ImGui_StyleVar_ItemInnerSpacing()
Legacy EELint extension_api("ImGui_StyleVar_ItemInnerSpacing")
Luanumber retval = reaper.ImGui_StyleVar_ItemInnerSpacing()
Pythonint retval = ImGui_StyleVar_ItemInnerSpacing()

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

View source

Constant: StyleVar_ItemSpacing
C++int ImGui::StyleVar_ItemSpacing
EELint ImGui_StyleVar_ItemSpacing()
Legacy EELint extension_api("ImGui_StyleVar_ItemSpacing")
Luanumber retval = reaper.ImGui_StyleVar_ItemSpacing()
Pythonint retval = ImGui_StyleVar_ItemSpacing()

Horizontal and vertical spacing between widgets/lines.

View source

Constant: StyleVar_PopupBorderSize
C++int ImGui::StyleVar_PopupBorderSize
EELint ImGui_StyleVar_PopupBorderSize()
Legacy EELint extension_api("ImGui_StyleVar_PopupBorderSize")
Luanumber retval = reaper.ImGui_StyleVar_PopupBorderSize()
Pythonint retval = ImGui_StyleVar_PopupBorderSize()

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

View source

Constant: StyleVar_PopupRounding
C++int ImGui::StyleVar_PopupRounding
EELint ImGui_StyleVar_PopupRounding()
Legacy EELint extension_api("ImGui_StyleVar_PopupRounding")
Luanumber retval = reaper.ImGui_StyleVar_PopupRounding()
Pythonint retval = ImGui_StyleVar_PopupRounding()

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

View source

Constant: StyleVar_ScrollbarRounding
C++int ImGui::StyleVar_ScrollbarRounding
EELint ImGui_StyleVar_ScrollbarRounding()
Legacy EELint extension_api("ImGui_StyleVar_ScrollbarRounding")
Luanumber retval = reaper.ImGui_StyleVar_ScrollbarRounding()
Pythonint retval = ImGui_StyleVar_ScrollbarRounding()

Radius of grab corners for scrollbar.

View source

Constant: StyleVar_ScrollbarSize
C++int ImGui::StyleVar_ScrollbarSize
EELint ImGui_StyleVar_ScrollbarSize()
Legacy EELint extension_api("ImGui_StyleVar_ScrollbarSize")
Luanumber retval = reaper.ImGui_StyleVar_ScrollbarSize()
Pythonint retval = ImGui_StyleVar_ScrollbarSize()

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

View source

Constant: StyleVar_SelectableTextAlign
C++int ImGui::StyleVar_SelectableTextAlign
EELint ImGui_StyleVar_SelectableTextAlign()
Legacy EELint extension_api("ImGui_StyleVar_SelectableTextAlign")
Luanumber retval = reaper.ImGui_StyleVar_SelectableTextAlign()
Pythonint retval = ImGui_StyleVar_SelectableTextAlign()

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

View source

Constant: StyleVar_SeparatorTextAlign
C++int ImGui::StyleVar_SeparatorTextAlign
EELint ImGui_StyleVar_SeparatorTextAlign()
Legacy EELint extension_api("ImGui_StyleVar_SeparatorTextAlign")
Luanumber retval = reaper.ImGui_StyleVar_SeparatorTextAlign()
Pythonint retval = ImGui_StyleVar_SeparatorTextAlign()

Alignment of text within the separator. Defaults to (0.0, 0.5) (left aligned, center).

View source

Constant: StyleVar_SeparatorTextBorderSize
C++int ImGui::StyleVar_SeparatorTextBorderSize
EELint ImGui_StyleVar_SeparatorTextBorderSize()
Legacy EELint extension_api("ImGui_StyleVar_SeparatorTextBorderSize")
Luanumber retval = reaper.ImGui_StyleVar_SeparatorTextBorderSize()
Pythonint retval = ImGui_StyleVar_SeparatorTextBorderSize()

Thickness of border in SeparatorText()

View source

Constant: StyleVar_SeparatorTextPadding
C++int ImGui::StyleVar_SeparatorTextPadding
EELint ImGui_StyleVar_SeparatorTextPadding()
Legacy EELint extension_api("ImGui_StyleVar_SeparatorTextPadding")
Luanumber retval = reaper.ImGui_StyleVar_SeparatorTextPadding()
Pythonint retval = ImGui_StyleVar_SeparatorTextPadding()

Horizontal offset of text from each edge of the separator + spacing on other axis. Generally small values. .y is recommended to be == StyleVar_FramePadding.y.

View source

Constant: StyleVar_TabRounding
C++int ImGui::StyleVar_TabRounding
EELint ImGui_StyleVar_TabRounding()
Legacy EELint extension_api("ImGui_StyleVar_TabRounding")
Luanumber retval = reaper.ImGui_StyleVar_TabRounding()
Pythonint retval = ImGui_StyleVar_TabRounding()

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

View source

Constant: StyleVar_WindowBorderSize
C++int ImGui::StyleVar_WindowBorderSize
EELint ImGui_StyleVar_WindowBorderSize()
Legacy EELint extension_api("ImGui_StyleVar_WindowBorderSize")
Luanumber retval = reaper.ImGui_StyleVar_WindowBorderSize()
Pythonint retval = ImGui_StyleVar_WindowBorderSize()

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

View source

Constant: StyleVar_WindowMinSize
C++int ImGui::StyleVar_WindowMinSize
EELint ImGui_StyleVar_WindowMinSize()
Legacy EELint extension_api("ImGui_StyleVar_WindowMinSize")
Luanumber retval = reaper.ImGui_StyleVar_WindowMinSize()
Pythonint retval = ImGui_StyleVar_WindowMinSize()

Minimum window size. This is a global setting. If you want to constrain individual windows, use SetNextWindowSizeConstraints.

View source

Constant: StyleVar_WindowPadding
C++int ImGui::StyleVar_WindowPadding
EELint ImGui_StyleVar_WindowPadding()
Legacy EELint extension_api("ImGui_StyleVar_WindowPadding")
Luanumber retval = reaper.ImGui_StyleVar_WindowPadding()
Pythonint retval = ImGui_StyleVar_WindowPadding()

Padding within a window.

View source

Constant: StyleVar_WindowRounding
C++int ImGui::StyleVar_WindowRounding
EELint ImGui_StyleVar_WindowRounding()
Legacy EELint extension_api("ImGui_StyleVar_WindowRounding")
Luanumber retval = reaper.ImGui_StyleVar_WindowRounding()
Pythonint retval = ImGui_StyleVar_WindowRounding()

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

View source

Constant: StyleVar_WindowTitleAlign
C++int ImGui::StyleVar_WindowTitleAlign
EELint ImGui_StyleVar_WindowTitleAlign()
Legacy EELint extension_api("ImGui_StyleVar_WindowTitleAlign")
Luanumber retval = reaper.ImGui_StyleVar_WindowTitleAlign()
Pythonint retval = ImGui_StyleVar_WindowTitleAlign()

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

View source


Tab Bar

Function: BeginTabBar
C++bool ImGui::BeginTabBar(ImGui_Context* ctx, const char* str_id, int* flagsInOptional = TabBarFlags_None)
EELbool ImGui_BeginTabBar(ImGui_Context ctx, "str_id", int flags = TabBarFlags_None)
Legacy EELbool extension_api("ImGui_BeginTabBar", ImGui_Context ctx, "str_id", int flags = TabBarFlags_None)
Luaboolean retval = reaper.ImGui_BeginTabBar(ImGui_Context ctx, string str_id, number flags = TabBarFlags_None)
Pythonbool retval = ImGui_BeginTabBar(ImGui_Context ctx, str str_id, int flags = TabBarFlags_None)

Create and append into a TabBar.

View source

Function: EndTabBar
C++void ImGui::EndTabBar(ImGui_Context* ctx)
EELImGui_EndTabBar(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndTabBar", ImGui_Context ctx)
Luareaper.ImGui_EndTabBar(ImGui_Context ctx)
PythonImGui_EndTabBar(ImGui_Context ctx)

Only call EndTabBar() if BeginTabBar() returns true!

View source

Constant: TabBarFlags_AutoSelectNewTabs
C++int ImGui::TabBarFlags_AutoSelectNewTabs
EELint ImGui_TabBarFlags_AutoSelectNewTabs()
Legacy EELint extension_api("ImGui_TabBarFlags_AutoSelectNewTabs")
Luanumber retval = reaper.ImGui_TabBarFlags_AutoSelectNewTabs()
Pythonint retval = ImGui_TabBarFlags_AutoSelectNewTabs()

Automatically select new tabs when they appear.

View source

Constant: TabBarFlags_FittingPolicyResizeDown
C++int ImGui::TabBarFlags_FittingPolicyResizeDown
EELint ImGui_TabBarFlags_FittingPolicyResizeDown()
Legacy EELint extension_api("ImGui_TabBarFlags_FittingPolicyResizeDown")
Luanumber retval = reaper.ImGui_TabBarFlags_FittingPolicyResizeDown()
Pythonint retval = ImGui_TabBarFlags_FittingPolicyResizeDown()

Resize tabs when they don't fit.

View source

Constant: TabBarFlags_FittingPolicyScroll
C++int ImGui::TabBarFlags_FittingPolicyScroll
EELint ImGui_TabBarFlags_FittingPolicyScroll()
Legacy EELint extension_api("ImGui_TabBarFlags_FittingPolicyScroll")
Luanumber retval = reaper.ImGui_TabBarFlags_FittingPolicyScroll()
Pythonint retval = ImGui_TabBarFlags_FittingPolicyScroll()

Add scroll buttons when tabs don't fit.

View source

Constant: TabBarFlags_NoCloseWithMiddleMouseButton
C++int ImGui::TabBarFlags_NoCloseWithMiddleMouseButton
EELint ImGui_TabBarFlags_NoCloseWithMiddleMouseButton()
Legacy EELint extension_api("ImGui_TabBarFlags_NoCloseWithMiddleMouseButton")
Luanumber retval = reaper.ImGui_TabBarFlags_NoCloseWithMiddleMouseButton()
Pythonint retval = ImGui_TabBarFlags_NoCloseWithMiddleMouseButton()

Disable behavior of closing tabs (that are submitted with p_open != nil) with middle mouse button. You can still repro this behavior on user's side with if(IsItemHovered() && IsMouseClicked(2)) p_open = false.

View source

Constant: TabBarFlags_NoTabListScrollingButtons
C++int ImGui::TabBarFlags_NoTabListScrollingButtons
EELint ImGui_TabBarFlags_NoTabListScrollingButtons()
Legacy EELint extension_api("ImGui_TabBarFlags_NoTabListScrollingButtons")
Luanumber retval = reaper.ImGui_TabBarFlags_NoTabListScrollingButtons()
Pythonint retval = ImGui_TabBarFlags_NoTabListScrollingButtons()

Disable scrolling buttons (apply when fitting policy is TabBarFlags_FittingPolicyScroll).

View source

Constant: TabBarFlags_NoTooltip
C++int ImGui::TabBarFlags_NoTooltip
EELint ImGui_TabBarFlags_NoTooltip()
Legacy EELint extension_api("ImGui_TabBarFlags_NoTooltip")
Luanumber retval = reaper.ImGui_TabBarFlags_NoTooltip()
Pythonint retval = ImGui_TabBarFlags_NoTooltip()

Disable tooltips when hovering a tab.

View source

Constant: TabBarFlags_None
C++int ImGui::TabBarFlags_None
EELint ImGui_TabBarFlags_None()
Legacy EELint extension_api("ImGui_TabBarFlags_None")
Luanumber retval = reaper.ImGui_TabBarFlags_None()
Pythonint retval = ImGui_TabBarFlags_None()

View source

Constant: TabBarFlags_Reorderable
C++int ImGui::TabBarFlags_Reorderable
EELint ImGui_TabBarFlags_Reorderable()
Legacy EELint extension_api("ImGui_TabBarFlags_Reorderable")
Luanumber retval = reaper.ImGui_TabBarFlags_Reorderable()
Pythonint retval = ImGui_TabBarFlags_Reorderable()

Allow manually dragging tabs to re-order them + New tabs are appended at the end of list.

View source

Constant: TabBarFlags_TabListPopupButton
C++int ImGui::TabBarFlags_TabListPopupButton
EELint ImGui_TabBarFlags_TabListPopupButton()
Legacy EELint extension_api("ImGui_TabBarFlags_TabListPopupButton")
Luanumber retval = reaper.ImGui_TabBarFlags_TabListPopupButton()
Pythonint retval = ImGui_TabBarFlags_TabListPopupButton()

Disable buttons to open the tab list popup.

View source

Tab Item

Function: BeginTabItem
C++bool ImGui::BeginTabItem(ImGui_Context* ctx, const char* label, bool* p_openInOutOptional = nullptr, int* flagsInOptional = TabItemFlags_None)
EELbool ImGui_BeginTabItem(ImGui_Context ctx, "label", bool &p_open = 0, int flags = TabItemFlags_None)
Legacy EELbool extension_api("ImGui_BeginTabItem", ImGui_Context ctx, "label", bool &p_open = 0, int flags = TabItemFlags_None)
Luaboolean retval, boolean p_open = reaper.ImGui_BeginTabItem(ImGui_Context ctx, string label, boolean p_open = nil, number flags = TabItemFlags_None)
Python(bool retval, bool p_open) = ImGui_BeginTabItem(ImGui_Context ctx, str label, bool p_open = None, int flags = TabItemFlags_None)

Create a Tab. Returns true if the Tab is selected. Set 'p_open' to true to enable the close button.

View source

Function: EndTabItem
C++void ImGui::EndTabItem(ImGui_Context* ctx)
EELImGui_EndTabItem(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndTabItem", ImGui_Context ctx)
Luareaper.ImGui_EndTabItem(ImGui_Context ctx)
PythonImGui_EndTabItem(ImGui_Context ctx)

Only call EndTabItem() if BeginTabItem() returns true!

View source

Function: SetTabItemClosed
C++void ImGui::SetTabItemClosed(ImGui_Context* ctx, const char* tab_or_docked_window_label)
EELImGui_SetTabItemClosed(ImGui_Context ctx, "tab_or_docked_window_label")
Legacy EELextension_api("ImGui_SetTabItemClosed", ImGui_Context ctx, "tab_or_docked_window_label")
Luareaper.ImGui_SetTabItemClosed(ImGui_Context ctx, string tab_or_docked_window_label)
PythonImGui_SetTabItemClosed(ImGui_Context ctx, str tab_or_docked_window_label)

Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar and before Tab submissions. Otherwise call with a window name.

View source

Function: TabItemButton
C++bool ImGui::TabItemButton(ImGui_Context* ctx, const char* label, int* flagsInOptional = TabItemFlags_None)
EELbool ImGui_TabItemButton(ImGui_Context ctx, "label", int flags = TabItemFlags_None)
Legacy EELbool extension_api("ImGui_TabItemButton", ImGui_Context ctx, "label", int flags = TabItemFlags_None)
Luaboolean retval = reaper.ImGui_TabItemButton(ImGui_Context ctx, string label, number flags = TabItemFlags_None)
Pythonbool retval = ImGui_TabItemButton(ImGui_Context ctx, str label, int flags = TabItemFlags_None)

Create a Tab behaving like a button. Return true when clicked. Cannot be selected in the tab bar.

View source

Constant: TabItemFlags_Leading
C++int ImGui::TabItemFlags_Leading
EELint ImGui_TabItemFlags_Leading()
Legacy EELint extension_api("ImGui_TabItemFlags_Leading")
Luanumber retval = reaper.ImGui_TabItemFlags_Leading()
Pythonint retval = ImGui_TabItemFlags_Leading()

Enforce the tab position to the left of the tab bar (after the tab list popup button).

View source

Constant: TabItemFlags_NoCloseWithMiddleMouseButton
C++int ImGui::TabItemFlags_NoCloseWithMiddleMouseButton
EELint ImGui_TabItemFlags_NoCloseWithMiddleMouseButton()
Legacy EELint extension_api("ImGui_TabItemFlags_NoCloseWithMiddleMouseButton")
Luanumber retval = reaper.ImGui_TabItemFlags_NoCloseWithMiddleMouseButton()
Pythonint retval = ImGui_TabItemFlags_NoCloseWithMiddleMouseButton()

Disable behavior of closing tabs (that are submitted with p_open != nil) with middle mouse button. You can still repro this behavior on user's side with if(IsItemHovered() && IsMouseClicked(2)) p_open = false.

View source

Constant: TabItemFlags_NoPushId
C++int ImGui::TabItemFlags_NoPushId
EELint ImGui_TabItemFlags_NoPushId()
Legacy EELint extension_api("ImGui_TabItemFlags_NoPushId")
Luanumber retval = reaper.ImGui_TabItemFlags_NoPushId()
Pythonint retval = ImGui_TabItemFlags_NoPushId()

Don't call PushID(tab->ID)/PopID() on BeginTabItem/EndTabItem.

View source

Constant: TabItemFlags_NoReorder
C++int ImGui::TabItemFlags_NoReorder
EELint ImGui_TabItemFlags_NoReorder()
Legacy EELint extension_api("ImGui_TabItemFlags_NoReorder")
Luanumber retval = reaper.ImGui_TabItemFlags_NoReorder()
Pythonint retval = ImGui_TabItemFlags_NoReorder()

Disable reordering this tab or having another tab cross over this tab.

View source

Constant: TabItemFlags_NoTooltip
C++int ImGui::TabItemFlags_NoTooltip
EELint ImGui_TabItemFlags_NoTooltip()
Legacy EELint extension_api("ImGui_TabItemFlags_NoTooltip")
Luanumber retval = reaper.ImGui_TabItemFlags_NoTooltip()
Pythonint retval = ImGui_TabItemFlags_NoTooltip()

Disable tooltip for the given tab.

View source

Constant: TabItemFlags_None
C++int ImGui::TabItemFlags_None
EELint ImGui_TabItemFlags_None()
Legacy EELint extension_api("ImGui_TabItemFlags_None")
Luanumber retval = reaper.ImGui_TabItemFlags_None()
Pythonint retval = ImGui_TabItemFlags_None()

View source

Constant: TabItemFlags_SetSelected
C++int ImGui::TabItemFlags_SetSelected
EELint ImGui_TabItemFlags_SetSelected()
Legacy EELint extension_api("ImGui_TabItemFlags_SetSelected")
Luanumber retval = reaper.ImGui_TabItemFlags_SetSelected()
Pythonint retval = ImGui_TabItemFlags_SetSelected()

Trigger flag to programmatically make the tab selected when calling BeginTabItem.

View source

Constant: TabItemFlags_Trailing
C++int ImGui::TabItemFlags_Trailing
EELint ImGui_TabItemFlags_Trailing()
Legacy EELint extension_api("ImGui_TabItemFlags_Trailing")
Luanumber retval = reaper.ImGui_TabItemFlags_Trailing()
Pythonint retval = ImGui_TabItemFlags_Trailing()

Enforce the tab position to the right of the tab bar (before the scrolling buttons).

View source

Constant: TabItemFlags_UnsavedDocument
C++int ImGui::TabItemFlags_UnsavedDocument
EELint ImGui_TabItemFlags_UnsavedDocument()
Legacy EELint extension_api("ImGui_TabItemFlags_UnsavedDocument")
Luanumber retval = reaper.ImGui_TabItemFlags_UnsavedDocument()
Pythonint retval = ImGui_TabItemFlags_UnsavedDocument()

Append '*' to title without affecting the ID, as a convenience to avoid using the ### operator. Also: tab is selected on closure and closure is deferred by one frame to allow code to undo it without flicker.

View source


Table

See top of imgui_tables.cpp for general commentary.

See TableFlags* and TableColumnFlags* enums for a description of available flags.

The typical call flow is:

  1. Call BeginTable.
  2. Optionally call TableSetupColumn to submit column name/flags/defaults.
  3. Optionally call TableSetupScrollFreeze to request scroll freezing of columns/rows.
  4. Optionally call TableHeadersRow to submit a header row. Names are pulled from TableSetupColumn data.
  5. Populate contents:
  6. Call EndTable.
Function: BeginTable
C++bool ImGui::BeginTable(ImGui_Context* ctx, const char* str_id, int column, int* flagsInOptional = TableFlags_None, double* outer_size_wInOptional = 0.0, double* outer_size_hInOptional = 0.0, double* inner_widthInOptional = 0.0)
EELbool ImGui_BeginTable(ImGui_Context ctx, "str_id", int column, int flags = TableFlags_None, outer_size_w = 0.0, outer_size_h = 0.0, inner_width = 0.0)
Legacy EELbool extension_api("ImGui_BeginTable", ImGui_Context ctx, "str_id", int column, int flags = TableFlags_None, outer_size_w = 0.0, outer_size_h = 0.0, inner_width = 0.0)
Luaboolean retval = reaper.ImGui_BeginTable(ImGui_Context ctx, string str_id, number column, number flags = TableFlags_None, number outer_size_w = 0.0, number outer_size_h = 0.0, number inner_width = 0.0)
Pythonbool retval = ImGui_BeginTable(ImGui_Context ctx, str str_id, int column, int flags = TableFlags_None, float outer_size_w = 0.0, float outer_size_h = 0.0, float inner_width = 0.0)

View source

Function: EndTable
C++void ImGui::EndTable(ImGui_Context* ctx)
EELImGui_EndTable(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndTable", ImGui_Context ctx)
Luareaper.ImGui_EndTable(ImGui_Context ctx)
PythonImGui_EndTable(ImGui_Context ctx)

Only call EndTable() if BeginTable() returns true!

View source

Function: TableGetColumnCount
C++int ImGui::TableGetColumnCount(ImGui_Context* ctx)
EELint ImGui_TableGetColumnCount(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_TableGetColumnCount", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_TableGetColumnCount(ImGui_Context ctx)
Pythonint retval = ImGui_TableGetColumnCount(ImGui_Context ctx)

Return number of columns (value passed to BeginTable).

View source

Function: TableGetColumnIndex
C++int ImGui::TableGetColumnIndex(ImGui_Context* ctx)
EELint ImGui_TableGetColumnIndex(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_TableGetColumnIndex", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_TableGetColumnIndex(ImGui_Context ctx)
Pythonint retval = ImGui_TableGetColumnIndex(ImGui_Context ctx)

Return current column index.

View source

Function: TableGetRowIndex
C++int ImGui::TableGetRowIndex(ImGui_Context* ctx)
EELint ImGui_TableGetRowIndex(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_TableGetRowIndex", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_TableGetRowIndex(ImGui_Context ctx)
Pythonint retval = ImGui_TableGetRowIndex(ImGui_Context ctx)

Return current row index.

View source

Function: TableNextColumn
C++bool ImGui::TableNextColumn(ImGui_Context* ctx)
EELbool ImGui_TableNextColumn(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_TableNextColumn", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_TableNextColumn(ImGui_Context ctx)
Pythonbool retval = ImGui_TableNextColumn(ImGui_Context ctx)

Append into the next column (or first column of next row if currently in last column). Return true when column is visible.

View source

Function: TableNextRow
C++void ImGui::TableNextRow(ImGui_Context* ctx, int* row_flagsInOptional = TableRowFlags_None, double* min_row_heightInOptional = 0.0)
EELImGui_TableNextRow(ImGui_Context ctx, int row_flags = TableRowFlags_None, min_row_height = 0.0)
Legacy EELextension_api("ImGui_TableNextRow", ImGui_Context ctx, int row_flags = TableRowFlags_None, min_row_height = 0.0)
Luareaper.ImGui_TableNextRow(ImGui_Context ctx, number row_flags = TableRowFlags_None, number min_row_height = 0.0)
PythonImGui_TableNextRow(ImGui_Context ctx, int row_flags = TableRowFlags_None, float min_row_height = 0.0)

Append into the first cell of a new row.

View source

Constant: TableRowFlags_Headers
C++int ImGui::TableRowFlags_Headers
EELint ImGui_TableRowFlags_Headers()
Legacy EELint extension_api("ImGui_TableRowFlags_Headers")
Luanumber retval = reaper.ImGui_TableRowFlags_Headers()
Pythonint retval = ImGui_TableRowFlags_Headers()

Identify header row (set default background color + width of its contents accounted different for auto column width).

View source

Constant: TableRowFlags_None
C++int ImGui::TableRowFlags_None
EELint ImGui_TableRowFlags_None()
Legacy EELint extension_api("ImGui_TableRowFlags_None")
Luanumber retval = reaper.ImGui_TableRowFlags_None()
Pythonint retval = ImGui_TableRowFlags_None()

For TableNextRow.

View source

Function: TableSetColumnIndex
C++bool ImGui::TableSetColumnIndex(ImGui_Context* ctx, int column_n)
EELbool ImGui_TableSetColumnIndex(ImGui_Context ctx, int column_n)
Legacy EELbool extension_api("ImGui_TableSetColumnIndex", ImGui_Context ctx, int column_n)
Luaboolean retval = reaper.ImGui_TableSetColumnIndex(ImGui_Context ctx, number column_n)
Pythonbool retval = ImGui_TableSetColumnIndex(ImGui_Context ctx, int column_n)

Append into the specified column. Return true when column is visible.

View source

Background

Background colors are rendering in 3 layers:

The purpose of the two row/columns layers is to let you decide if a background color change should override or blend with the existing color. When using TableFlags_RowBg on the table, each row has the RowBg0 color automatically set for odd/even rows. If you set the color of RowBg0 target, your color will override the existing RowBg0 color. If you set the color of RowBg1 or ColumnBg1 target, your color will blend over the RowBg0 color.

Constant: TableBgTarget_CellBg
C++int ImGui::TableBgTarget_CellBg
EELint ImGui_TableBgTarget_CellBg()
Legacy EELint extension_api("ImGui_TableBgTarget_CellBg")
Luanumber retval = reaper.ImGui_TableBgTarget_CellBg()
Pythonint retval = ImGui_TableBgTarget_CellBg()

Set cell background color (top-most color).

View source

Constant: TableBgTarget_None
C++int ImGui::TableBgTarget_None
EELint ImGui_TableBgTarget_None()
Legacy EELint extension_api("ImGui_TableBgTarget_None")
Luanumber retval = reaper.ImGui_TableBgTarget_None()
Pythonint retval = ImGui_TableBgTarget_None()

View source

Constant: TableBgTarget_RowBg0
C++int ImGui::TableBgTarget_RowBg0
EELint ImGui_TableBgTarget_RowBg0()
Legacy EELint extension_api("ImGui_TableBgTarget_RowBg0")
Luanumber retval = reaper.ImGui_TableBgTarget_RowBg0()
Pythonint retval = ImGui_TableBgTarget_RowBg0()

Set row background color 0 (generally used for background, automatically set when TableFlags_RowBg is used).

View source

Constant: TableBgTarget_RowBg1
C++int ImGui::TableBgTarget_RowBg1
EELint ImGui_TableBgTarget_RowBg1()
Legacy EELint extension_api("ImGui_TableBgTarget_RowBg1")
Luanumber retval = reaper.ImGui_TableBgTarget_RowBg1()
Pythonint retval = ImGui_TableBgTarget_RowBg1()

Set row background color 1 (generally used for selection marking).

View source

Function: TableSetBgColor
C++void ImGui::TableSetBgColor(ImGui_Context* ctx, int target, int color_rgba, int* column_nInOptional = -1)
EELImGui_TableSetBgColor(ImGui_Context ctx, int target, int color_rgba, int column_n = -1)
Legacy EELextension_api("ImGui_TableSetBgColor", ImGui_Context ctx, int target, int color_rgba, int column_n = -1)
Luareaper.ImGui_TableSetBgColor(ImGui_Context ctx, number target, number color_rgba, number column_n = -1)
PythonImGui_TableSetBgColor(ImGui_Context ctx, int target, int color_rgba, int column_n = -1)

Change the color of a cell, row, or column. See TableBgTarget_* flags for details.

View source

Header & Columns

Use TableSetupColumn() to specify label, resizing policy, default width/weight, id, various other flags etc.

Use TableHeadersRow() to create a header row and automatically submit a TableHeader() for each column. Headers are required to perform: reordering, sorting, and opening the context menu. The context menu can also be made available in columns body using ImGuiTableFlags_ContextMenuInBody.

You may manually submit headers using TableNextRow() + TableHeader() calls, but this is only useful in some advanced use cases (e.g. adding custom widgets in header row).

Use TableSetupScrollFreeze() to lock columns/rows so they stay visible when scrolled.

Function: TableGetColumnFlags
C++int ImGui::TableGetColumnFlags(ImGui_Context* ctx, int* column_nInOptional = -1)
EELint ImGui_TableGetColumnFlags(ImGui_Context ctx, int column_n = -1)
Legacy EELint extension_api("ImGui_TableGetColumnFlags", ImGui_Context ctx, int column_n = -1)
Luanumber retval = reaper.ImGui_TableGetColumnFlags(ImGui_Context ctx, number column_n = -1)
Pythonint retval = ImGui_TableGetColumnFlags(ImGui_Context ctx, int column_n = -1)

Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.

View source

Function: TableGetColumnName
C++const char* ImGui::TableGetColumnName(ImGui_Context* ctx, int* column_nInOptional = -1)
EELconst char* ImGui_TableGetColumnName(ImGui_Context ctx, int column_n = -1)
Legacy EELconst char* extension_api("ImGui_TableGetColumnName", ImGui_Context ctx, int column_n = -1)
Luastring retval = reaper.ImGui_TableGetColumnName(ImGui_Context ctx, number column_n = -1)
Pythonstr retval = ImGui_TableGetColumnName(ImGui_Context ctx, int column_n = -1)

Return "" if column didn't have a name declared by TableSetupColumn. Pass -1 to use current column.

View source

Function: TableHeader
C++void ImGui::TableHeader(ImGui_Context* ctx, const char* label)
EELImGui_TableHeader(ImGui_Context ctx, "label")
Legacy EELextension_api("ImGui_TableHeader", ImGui_Context ctx, "label")
Luareaper.ImGui_TableHeader(ImGui_Context ctx, string label)
PythonImGui_TableHeader(ImGui_Context ctx, str label)

Submit one header cell manually (rarely used). See TableSetupColumn.

View source

Function: TableHeadersRow
C++void ImGui::TableHeadersRow(ImGui_Context* ctx)
EELImGui_TableHeadersRow(ImGui_Context ctx)
Legacy EELextension_api("ImGui_TableHeadersRow", ImGui_Context ctx)
Luareaper.ImGui_TableHeadersRow(ImGui_Context ctx)
PythonImGui_TableHeadersRow(ImGui_Context ctx)

Submit all headers cells based on data provided to TableSetupColumn + submit context menu.

View source

Function: TableSetColumnEnabled
C++void ImGui::TableSetColumnEnabled(ImGui_Context* ctx, int column_n, bool v)
EELImGui_TableSetColumnEnabled(ImGui_Context ctx, int column_n, bool v)
Legacy EELextension_api("ImGui_TableSetColumnEnabled", ImGui_Context ctx, int column_n, bool v)
Luareaper.ImGui_TableSetColumnEnabled(ImGui_Context ctx, number column_n, boolean v)
PythonImGui_TableSetColumnEnabled(ImGui_Context ctx, int column_n, bool v)

Change user-accessible enabled/disabled state of a column, set to false to hide the column. Note that end-user can use the context menu to change this themselves (right-click in headers, or right-click in columns body with TableFlags_ContextMenuInBody).

View source

Function: TableSetupColumn
C++void ImGui::TableSetupColumn(ImGui_Context* ctx, const char* label, int* flagsInOptional = TableColumnFlags_None, double* init_width_or_weightInOptional = 0.0, int* user_idInOptional = 0)
EELImGui_TableSetupColumn(ImGui_Context ctx, "label", int flags = TableColumnFlags_None, init_width_or_weight = 0.0, int user_id = 0)
Legacy EELextension_api("ImGui_TableSetupColumn", ImGui_Context ctx, "label", int flags = TableColumnFlags_None, init_width_or_weight = 0.0, int user_id = 0)
Luareaper.ImGui_TableSetupColumn(ImGui_Context ctx, string label, number flags = TableColumnFlags_None, number init_width_or_weight = 0.0, number user_id = 0)
PythonImGui_TableSetupColumn(ImGui_Context ctx, str label, int flags = TableColumnFlags_None, float init_width_or_weight = 0.0, int user_id = 0)

Use to specify label, resizing policy, default width/weight, id, various other flags etc.

View source

Function: TableSetupScrollFreeze
C++void ImGui::TableSetupScrollFreeze(ImGui_Context* ctx, int cols, int rows)
EELImGui_TableSetupScrollFreeze(ImGui_Context ctx, int cols, int rows)
Legacy EELextension_api("ImGui_TableSetupScrollFreeze", ImGui_Context ctx, int cols, int rows)
Luareaper.ImGui_TableSetupScrollFreeze(ImGui_Context ctx, number cols, number rows)
PythonImGui_TableSetupScrollFreeze(ImGui_Context ctx, int cols, int rows)

Lock columns/rows so they stay visible when scrolled.

View source

Column Flags

For TableSetupColumn.

Constant: TableColumnFlags_None
C++int ImGui::TableColumnFlags_None
EELint ImGui_TableColumnFlags_None()
Legacy EELint extension_api("ImGui_TableColumnFlags_None")
Luanumber retval = reaper.ImGui_TableColumnFlags_None()
Pythonint retval = ImGui_TableColumnFlags_None()

View source

Input configuration
Constant: TableColumnFlags_DefaultHide
C++int ImGui::TableColumnFlags_DefaultHide
EELint ImGui_TableColumnFlags_DefaultHide()
Legacy EELint extension_api("ImGui_TableColumnFlags_DefaultHide")
Luanumber retval = reaper.ImGui_TableColumnFlags_DefaultHide()
Pythonint retval = ImGui_TableColumnFlags_DefaultHide()

Default as a hidden/disabled column.

View source

Constant: TableColumnFlags_DefaultSort
C++int ImGui::TableColumnFlags_DefaultSort
EELint ImGui_TableColumnFlags_DefaultSort()
Legacy EELint extension_api("ImGui_TableColumnFlags_DefaultSort")
Luanumber retval = reaper.ImGui_TableColumnFlags_DefaultSort()
Pythonint retval = ImGui_TableColumnFlags_DefaultSort()

Default as a sorting column.

View source

Constant: TableColumnFlags_Disabled
C++int ImGui::TableColumnFlags_Disabled
EELint ImGui_TableColumnFlags_Disabled()
Legacy EELint extension_api("ImGui_TableColumnFlags_Disabled")
Luanumber retval = reaper.ImGui_TableColumnFlags_Disabled()
Pythonint retval = ImGui_TableColumnFlags_Disabled()

Overriding/master disable flag: hide column, won't show in context menu (unlike calling TableSetColumnEnabled which manipulates the user accessible state).

View source

Constant: TableColumnFlags_IndentDisable
C++int ImGui::TableColumnFlags_IndentDisable
EELint ImGui_TableColumnFlags_IndentDisable()
Legacy EELint extension_api("ImGui_TableColumnFlags_IndentDisable")
Luanumber retval = reaper.ImGui_TableColumnFlags_IndentDisable()
Pythonint retval = ImGui_TableColumnFlags_IndentDisable()

Ignore current Indent value when entering cell (default for columns > 0). Indentation changes within the cell will still be honored.

View source

Constant: TableColumnFlags_IndentEnable
C++int ImGui::TableColumnFlags_IndentEnable
EELint ImGui_TableColumnFlags_IndentEnable()
Legacy EELint extension_api("ImGui_TableColumnFlags_IndentEnable")
Luanumber retval = reaper.ImGui_TableColumnFlags_IndentEnable()
Pythonint retval = ImGui_TableColumnFlags_IndentEnable()

Use current Indent value when entering cell (default for column 0).

View source

Constant: TableColumnFlags_NoClip
C++int ImGui::TableColumnFlags_NoClip
EELint ImGui_TableColumnFlags_NoClip()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoClip")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoClip()
Pythonint retval = ImGui_TableColumnFlags_NoClip()

Disable clipping for this column (all NoClip columns will render in a same draw command).

View source

Constant: TableColumnFlags_NoHeaderLabel
C++int ImGui::TableColumnFlags_NoHeaderLabel
EELint ImGui_TableColumnFlags_NoHeaderLabel()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoHeaderLabel")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoHeaderLabel()
Pythonint retval = ImGui_TableColumnFlags_NoHeaderLabel()

TableHeadersRow will not submit label for this column. Convenient for some small columns. Name will still appear in context menu.

View source

Constant: TableColumnFlags_NoHeaderWidth
C++int ImGui::TableColumnFlags_NoHeaderWidth
EELint ImGui_TableColumnFlags_NoHeaderWidth()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoHeaderWidth")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoHeaderWidth()
Pythonint retval = ImGui_TableColumnFlags_NoHeaderWidth()

Disable header text width contribution to automatic column width.

View source

Constant: TableColumnFlags_NoHide
C++int ImGui::TableColumnFlags_NoHide
EELint ImGui_TableColumnFlags_NoHide()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoHide")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoHide()
Pythonint retval = ImGui_TableColumnFlags_NoHide()

Disable ability to hide/disable this column.

View source

Constant: TableColumnFlags_NoReorder
C++int ImGui::TableColumnFlags_NoReorder
EELint ImGui_TableColumnFlags_NoReorder()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoReorder")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoReorder()
Pythonint retval = ImGui_TableColumnFlags_NoReorder()

Disable manual reordering this column, this will also prevent other columns from crossing over this column.

View source

Constant: TableColumnFlags_NoResize
C++int ImGui::TableColumnFlags_NoResize
EELint ImGui_TableColumnFlags_NoResize()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoResize")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoResize()
Pythonint retval = ImGui_TableColumnFlags_NoResize()

Disable manual resizing.

View source

Constant: TableColumnFlags_NoSort
C++int ImGui::TableColumnFlags_NoSort
EELint ImGui_TableColumnFlags_NoSort()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoSort")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoSort()
Pythonint retval = ImGui_TableColumnFlags_NoSort()

Disable ability to sort on this field (even if TableFlags_Sortable is set on the table).

View source

Constant: TableColumnFlags_NoSortAscending
C++int ImGui::TableColumnFlags_NoSortAscending
EELint ImGui_TableColumnFlags_NoSortAscending()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoSortAscending")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoSortAscending()
Pythonint retval = ImGui_TableColumnFlags_NoSortAscending()

Disable ability to sort in the ascending direction.

View source

Constant: TableColumnFlags_NoSortDescending
C++int ImGui::TableColumnFlags_NoSortDescending
EELint ImGui_TableColumnFlags_NoSortDescending()
Legacy EELint extension_api("ImGui_TableColumnFlags_NoSortDescending")
Luanumber retval = reaper.ImGui_TableColumnFlags_NoSortDescending()
Pythonint retval = ImGui_TableColumnFlags_NoSortDescending()

Disable ability to sort in the descending direction.

View source

Constant: TableColumnFlags_PreferSortAscending
C++int ImGui::TableColumnFlags_PreferSortAscending
EELint ImGui_TableColumnFlags_PreferSortAscending()
Legacy EELint extension_api("ImGui_TableColumnFlags_PreferSortAscending")
Luanumber retval = reaper.ImGui_TableColumnFlags_PreferSortAscending()
Pythonint retval = ImGui_TableColumnFlags_PreferSortAscending()

Make the initial sort direction Ascending when first sorting on this column (default).

View source

Constant: TableColumnFlags_PreferSortDescending
C++int ImGui::TableColumnFlags_PreferSortDescending
EELint ImGui_TableColumnFlags_PreferSortDescending()
Legacy EELint extension_api("ImGui_TableColumnFlags_PreferSortDescending")
Luanumber retval = reaper.ImGui_TableColumnFlags_PreferSortDescending()
Pythonint retval = ImGui_TableColumnFlags_PreferSortDescending()

Make the initial sort direction Descending when first sorting on this column.

View source

Constant: TableColumnFlags_WidthFixed
C++int ImGui::TableColumnFlags_WidthFixed
EELint ImGui_TableColumnFlags_WidthFixed()
Legacy EELint extension_api("ImGui_TableColumnFlags_WidthFixed")
Luanumber retval = reaper.ImGui_TableColumnFlags_WidthFixed()
Pythonint retval = ImGui_TableColumnFlags_WidthFixed()

Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).

View source

Constant: TableColumnFlags_WidthStretch
C++int ImGui::TableColumnFlags_WidthStretch
EELint ImGui_TableColumnFlags_WidthStretch()
Legacy EELint extension_api("ImGui_TableColumnFlags_WidthStretch")
Luanumber retval = reaper.ImGui_TableColumnFlags_WidthStretch()
Pythonint retval = ImGui_TableColumnFlags_WidthStretch()

Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).

View source

Output status

Read-only via TableGetColumnFlags

Constant: TableColumnFlags_IsEnabled
C++int ImGui::TableColumnFlags_IsEnabled
EELint ImGui_TableColumnFlags_IsEnabled()
Legacy EELint extension_api("ImGui_TableColumnFlags_IsEnabled")
Luanumber retval = reaper.ImGui_TableColumnFlags_IsEnabled()
Pythonint retval = ImGui_TableColumnFlags_IsEnabled()

Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags.

View source

Constant: TableColumnFlags_IsHovered
C++int ImGui::TableColumnFlags_IsHovered
EELint ImGui_TableColumnFlags_IsHovered()
Legacy EELint extension_api("ImGui_TableColumnFlags_IsHovered")
Luanumber retval = reaper.ImGui_TableColumnFlags_IsHovered()
Pythonint retval = ImGui_TableColumnFlags_IsHovered()

Status: is hovered by mouse.

View source

Constant: TableColumnFlags_IsSorted
C++int ImGui::TableColumnFlags_IsSorted
EELint ImGui_TableColumnFlags_IsSorted()
Legacy EELint extension_api("ImGui_TableColumnFlags_IsSorted")
Luanumber retval = reaper.ImGui_TableColumnFlags_IsSorted()
Pythonint retval = ImGui_TableColumnFlags_IsSorted()

Status: is currently part of the sort specs.

View source

Constant: TableColumnFlags_IsVisible
C++int ImGui::TableColumnFlags_IsVisible
EELint ImGui_TableColumnFlags_IsVisible()
Legacy EELint extension_api("ImGui_TableColumnFlags_IsVisible")
Luanumber retval = reaper.ImGui_TableColumnFlags_IsVisible()
Pythonint retval = ImGui_TableColumnFlags_IsVisible()

Status: is visible == is enabled AND not clipped by scrolling.

View source

Sorting

Constant: SortDirection_Ascending
C++int ImGui::SortDirection_Ascending
EELint ImGui_SortDirection_Ascending()
Legacy EELint extension_api("ImGui_SortDirection_Ascending")
Luanumber retval = reaper.ImGui_SortDirection_Ascending()
Pythonint retval = ImGui_SortDirection_Ascending()

Ascending = 0->9, A->Z etc.

View source

Constant: SortDirection_Descending
C++int ImGui::SortDirection_Descending
EELint ImGui_SortDirection_Descending()
Legacy EELint extension_api("ImGui_SortDirection_Descending")
Luanumber retval = reaper.ImGui_SortDirection_Descending()
Pythonint retval = ImGui_SortDirection_Descending()

Descending = 9->0, Z->A etc.

View source

Constant: SortDirection_None
C++int ImGui::SortDirection_None
EELint ImGui_SortDirection_None()
Legacy EELint extension_api("ImGui_SortDirection_None")
Luanumber retval = reaper.ImGui_SortDirection_None()
Pythonint retval = ImGui_SortDirection_None()

View source

Function: TableGetColumnSortSpecs
C++bool ImGui::TableGetColumnSortSpecs(ImGui_Context* ctx, int id, int* column_user_idOut, int* column_indexOut, int* sort_orderOut, int* sort_directionOut)
EELbool ImGui_TableGetColumnSortSpecs(ImGui_Context ctx, int id, int &column_user_id, int &column_index, int &sort_order, int &sort_direction)
Legacy EELbool extension_api("ImGui_TableGetColumnSortSpecs", ImGui_Context ctx, int id, int &column_user_id, int &column_index, int &sort_order, int &sort_direction)
Luaboolean retval, number column_user_id, number column_index, number sort_order, number sort_direction = reaper.ImGui_TableGetColumnSortSpecs(ImGui_Context ctx, number id)
Python(bool retval, int column_user_id, int column_index, int sort_order, int sort_direction) = ImGui_TableGetColumnSortSpecs(ImGui_Context ctx, int id)

Sorting specification for one column of a table. Call while incrementing 'id' from 0 until false is returned.

See TableNeedSort.

View source

Function: TableNeedSort
C++bool ImGui::TableNeedSort(ImGui_Context* ctx, bool* has_specsOut)
EELbool ImGui_TableNeedSort(ImGui_Context ctx, bool &has_specs)
Legacy EELbool extension_api("ImGui_TableNeedSort", ImGui_Context ctx, bool &has_specs)
Luaboolean retval, boolean has_specs = reaper.ImGui_TableNeedSort(ImGui_Context ctx)
Python(bool retval, bool has_specs) = ImGui_TableNeedSort(ImGui_Context ctx)

Return true once when sorting specs have changed since last call, or the first time. 'has_specs' is false when not sorting.

See TableGetColumnSortSpecs.

View source

Table Flags

For BeginTable.

Constant: TableFlags_None
C++int ImGui::TableFlags_None
EELint ImGui_TableFlags_None()
Legacy EELint extension_api("ImGui_TableFlags_None")
Luanumber retval = reaper.ImGui_TableFlags_None()
Pythonint retval = ImGui_TableFlags_None()

View source

Clipping

Constant: TableFlags_NoClip
C++int ImGui::TableFlags_NoClip
EELint ImGui_TableFlags_NoClip()
Legacy EELint extension_api("ImGui_TableFlags_NoClip")
Luanumber retval = reaper.ImGui_TableFlags_NoClip()
Pythonint retval = ImGui_TableFlags_NoClip()

Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze.

View source

Decorations

Constant: TableFlags_Borders
C++int ImGui::TableFlags_Borders
EELint ImGui_TableFlags_Borders()
Legacy EELint extension_api("ImGui_TableFlags_Borders")
Luanumber retval = reaper.ImGui_TableFlags_Borders()
Pythonint retval = ImGui_TableFlags_Borders()

Draw all borders.

View source

Constant: TableFlags_BordersH
C++int ImGui::TableFlags_BordersH
EELint ImGui_TableFlags_BordersH()
Legacy EELint extension_api("ImGui_TableFlags_BordersH")
Luanumber retval = reaper.ImGui_TableFlags_BordersH()
Pythonint retval = ImGui_TableFlags_BordersH()

Draw horizontal borders.

View source

Constant: TableFlags_BordersInner
C++int ImGui::TableFlags_BordersInner
EELint ImGui_TableFlags_BordersInner()
Legacy EELint extension_api("ImGui_TableFlags_BordersInner")
Luanumber retval = reaper.ImGui_TableFlags_BordersInner()
Pythonint retval = ImGui_TableFlags_BordersInner()

Draw inner borders.

View source

Constant: TableFlags_BordersInnerH
C++int ImGui::TableFlags_BordersInnerH
EELint ImGui_TableFlags_BordersInnerH()
Legacy EELint extension_api("ImGui_TableFlags_BordersInnerH")
Luanumber retval = reaper.ImGui_TableFlags_BordersInnerH()
Pythonint retval = ImGui_TableFlags_BordersInnerH()

Draw horizontal borders between rows.

View source

Constant: TableFlags_BordersInnerV
C++int ImGui::TableFlags_BordersInnerV
EELint ImGui_TableFlags_BordersInnerV()
Legacy EELint extension_api("ImGui_TableFlags_BordersInnerV")
Luanumber retval = reaper.ImGui_TableFlags_BordersInnerV()
Pythonint retval = ImGui_TableFlags_BordersInnerV()

Draw vertical borders between columns.

View source

Constant: TableFlags_BordersOuter
C++int ImGui::TableFlags_BordersOuter
EELint ImGui_TableFlags_BordersOuter()
Legacy EELint extension_api("ImGui_TableFlags_BordersOuter")
Luanumber retval = reaper.ImGui_TableFlags_BordersOuter()
Pythonint retval = ImGui_TableFlags_BordersOuter()

Draw outer borders.

View source

Constant: TableFlags_BordersOuterH
C++int ImGui::TableFlags_BordersOuterH
EELint ImGui_TableFlags_BordersOuterH()
Legacy EELint extension_api("ImGui_TableFlags_BordersOuterH")
Luanumber retval = reaper.ImGui_TableFlags_BordersOuterH()
Pythonint retval = ImGui_TableFlags_BordersOuterH()

Draw horizontal borders at the top and bottom.

View source

Constant: TableFlags_BordersOuterV
C++int ImGui::TableFlags_BordersOuterV
EELint ImGui_TableFlags_BordersOuterV()
Legacy EELint extension_api("ImGui_TableFlags_BordersOuterV")
Luanumber retval = reaper.ImGui_TableFlags_BordersOuterV()
Pythonint retval = ImGui_TableFlags_BordersOuterV()

Draw vertical borders on the left and right sides.

View source

Constant: TableFlags_BordersV
C++int ImGui::TableFlags_BordersV
EELint ImGui_TableFlags_BordersV()
Legacy EELint extension_api("ImGui_TableFlags_BordersV")
Luanumber retval = reaper.ImGui_TableFlags_BordersV()
Pythonint retval = ImGui_TableFlags_BordersV()

Draw vertical borders.

View source

Constant: TableFlags_RowBg
C++int ImGui::TableFlags_RowBg
EELint ImGui_TableFlags_RowBg()
Legacy EELint extension_api("ImGui_TableFlags_RowBg")
Luanumber retval = reaper.ImGui_TableFlags_RowBg()
Pythonint retval = ImGui_TableFlags_RowBg()

Set each RowBg color with Col_TableRowBg or Col_TableRowBgAlt (equivalent of calling TableSetBgColor with TableBgTarget_RowBg0 on each row manually).

View source

Features

Constant: TableFlags_ContextMenuInBody
C++int ImGui::TableFlags_ContextMenuInBody
EELint ImGui_TableFlags_ContextMenuInBody()
Legacy EELint extension_api("ImGui_TableFlags_ContextMenuInBody")
Luanumber retval = reaper.ImGui_TableFlags_ContextMenuInBody()
Pythonint retval = ImGui_TableFlags_ContextMenuInBody()

Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow.

View source

Constant: TableFlags_Hideable
C++int ImGui::TableFlags_Hideable
EELint ImGui_TableFlags_Hideable()
Legacy EELint extension_api("ImGui_TableFlags_Hideable")
Luanumber retval = reaper.ImGui_TableFlags_Hideable()
Pythonint retval = ImGui_TableFlags_Hideable()

Enable hiding/disabling columns in context menu.

View source

Constant: TableFlags_NoSavedSettings
C++int ImGui::TableFlags_NoSavedSettings
EELint ImGui_TableFlags_NoSavedSettings()
Legacy EELint extension_api("ImGui_TableFlags_NoSavedSettings")
Luanumber retval = reaper.ImGui_TableFlags_NoSavedSettings()
Pythonint retval = ImGui_TableFlags_NoSavedSettings()

Disable persisting columns order, width and sort settings in the .ini file.

View source

Constant: TableFlags_Reorderable
C++int ImGui::TableFlags_Reorderable
EELint ImGui_TableFlags_Reorderable()
Legacy EELint extension_api("ImGui_TableFlags_Reorderable")
Luanumber retval = reaper.ImGui_TableFlags_Reorderable()
Pythonint retval = ImGui_TableFlags_Reorderable()

Enable reordering columns in header row (need calling TableSetupColumn + TableHeadersRow to display headers).

View source

Constant: TableFlags_Resizable
C++int ImGui::TableFlags_Resizable
EELint ImGui_TableFlags_Resizable()
Legacy EELint extension_api("ImGui_TableFlags_Resizable")
Luanumber retval = reaper.ImGui_TableFlags_Resizable()
Pythonint retval = ImGui_TableFlags_Resizable()

Enable resizing columns.

View source

Constant: TableFlags_Sortable
C++int ImGui::TableFlags_Sortable
EELint ImGui_TableFlags_Sortable()
Legacy EELint extension_api("ImGui_TableFlags_Sortable")
Luanumber retval = reaper.ImGui_TableFlags_Sortable()
Pythonint retval = ImGui_TableFlags_Sortable()

Enable sorting. Call TableNeedSort/TableGetColumnSortSpecs to obtain sort specs. Also see TableFlags_SortMulti and TableFlags_SortTristate.

View source

Padding

Constant: TableFlags_NoPadInnerX
C++int ImGui::TableFlags_NoPadInnerX
EELint ImGui_TableFlags_NoPadInnerX()
Legacy EELint extension_api("ImGui_TableFlags_NoPadInnerX")
Luanumber retval = reaper.ImGui_TableFlags_NoPadInnerX()
Pythonint retval = ImGui_TableFlags_NoPadInnerX()

Disable inner padding between columns (double inner padding if TableFlags_BordersOuterV is on, single inner padding if BordersOuterV is off).

View source

Constant: TableFlags_NoPadOuterX
C++int ImGui::TableFlags_NoPadOuterX
EELint ImGui_TableFlags_NoPadOuterX()
Legacy EELint extension_api("ImGui_TableFlags_NoPadOuterX")
Luanumber retval = reaper.ImGui_TableFlags_NoPadOuterX()
Pythonint retval = ImGui_TableFlags_NoPadOuterX()

Default if TableFlags_BordersOuterV is off. Disable outermost padding.

View source

Constant: TableFlags_PadOuterX
C++int ImGui::TableFlags_PadOuterX
EELint ImGui_TableFlags_PadOuterX()
Legacy EELint extension_api("ImGui_TableFlags_PadOuterX")
Luanumber retval = reaper.ImGui_TableFlags_PadOuterX()
Pythonint retval = ImGui_TableFlags_PadOuterX()

Default if TableFlags_BordersOuterV is on. Enable outermost padding. Generally desirable if you have headers.

View source

Scrolling

Constant: TableFlags_ScrollX
C++int ImGui::TableFlags_ScrollX
EELint ImGui_TableFlags_ScrollX()
Legacy EELint extension_api("ImGui_TableFlags_ScrollX")
Luanumber retval = reaper.ImGui_TableFlags_ScrollX()
Pythonint retval = ImGui_TableFlags_ScrollX()

Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable to specify the container size. Changes default sizing policy. Because this creates a child window, ScrollY is currently generally recommended when using ScrollX.

View source

Constant: TableFlags_ScrollY
C++int ImGui::TableFlags_ScrollY
EELint ImGui_TableFlags_ScrollY()
Legacy EELint extension_api("ImGui_TableFlags_ScrollY")
Luanumber retval = reaper.ImGui_TableFlags_ScrollY()
Pythonint retval = ImGui_TableFlags_ScrollY()

Enable vertical scrolling. Require 'outer_size' parameter of BeginTable to specify the container size.

View source

Sizing Extra Options

Constant: TableFlags_NoHostExtendX
C++int ImGui::TableFlags_NoHostExtendX
EELint ImGui_TableFlags_NoHostExtendX()
Legacy EELint extension_api("ImGui_TableFlags_NoHostExtendX")
Luanumber retval = reaper.ImGui_TableFlags_NoHostExtendX()
Pythonint retval = ImGui_TableFlags_NoHostExtendX()

Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used.

View source

Constant: TableFlags_NoHostExtendY
C++int ImGui::TableFlags_NoHostExtendY
EELint ImGui_TableFlags_NoHostExtendY()
Legacy EELint extension_api("ImGui_TableFlags_NoHostExtendY")
Luanumber retval = reaper.ImGui_TableFlags_NoHostExtendY()
Pythonint retval = ImGui_TableFlags_NoHostExtendY()

Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible.

View source

Constant: TableFlags_NoKeepColumnsVisible
C++int ImGui::TableFlags_NoKeepColumnsVisible
EELint ImGui_TableFlags_NoKeepColumnsVisible()
Legacy EELint extension_api("ImGui_TableFlags_NoKeepColumnsVisible")
Luanumber retval = reaper.ImGui_TableFlags_NoKeepColumnsVisible()
Pythonint retval = ImGui_TableFlags_NoKeepColumnsVisible()

Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.

View source

Constant: TableFlags_PreciseWidths
C++int ImGui::TableFlags_PreciseWidths
EELint ImGui_TableFlags_PreciseWidths()
Legacy EELint extension_api("ImGui_TableFlags_PreciseWidths")
Luanumber retval = reaper.ImGui_TableFlags_PreciseWidths()
Pythonint retval = ImGui_TableFlags_PreciseWidths()

Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth.

View source

Sizing Policy

(read above for defaults)

Constant: TableFlags_SizingFixedFit
C++int ImGui::TableFlags_SizingFixedFit
EELint ImGui_TableFlags_SizingFixedFit()
Legacy EELint extension_api("ImGui_TableFlags_SizingFixedFit")
Luanumber retval = reaper.ImGui_TableFlags_SizingFixedFit()
Pythonint retval = ImGui_TableFlags_SizingFixedFit()

Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.

View source

Constant: TableFlags_SizingFixedSame
C++int ImGui::TableFlags_SizingFixedSame
EELint ImGui_TableFlags_SizingFixedSame()
Legacy EELint extension_api("ImGui_TableFlags_SizingFixedSame")
Luanumber retval = reaper.ImGui_TableFlags_SizingFixedSame()
Pythonint retval = ImGui_TableFlags_SizingFixedSame()

Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable TableFlags_NoKeepColumnsVisible.

View source

Constant: TableFlags_SizingStretchProp
C++int ImGui::TableFlags_SizingStretchProp
EELint ImGui_TableFlags_SizingStretchProp()
Legacy EELint extension_api("ImGui_TableFlags_SizingStretchProp")
Luanumber retval = reaper.ImGui_TableFlags_SizingStretchProp()
Pythonint retval = ImGui_TableFlags_SizingStretchProp()

Columns default to _WidthStretch with default weights proportional to each columns contents widths.

View source

Constant: TableFlags_SizingStretchSame
C++int ImGui::TableFlags_SizingStretchSame
EELint ImGui_TableFlags_SizingStretchSame()
Legacy EELint extension_api("ImGui_TableFlags_SizingStretchSame")
Luanumber retval = reaper.ImGui_TableFlags_SizingStretchSame()
Pythonint retval = ImGui_TableFlags_SizingStretchSame()

Columns default to _WidthStretch with default weights all equal, unless overriden by TableSetupColumn.

View source

Sorting

Constant: TableFlags_SortMulti
C++int ImGui::TableFlags_SortMulti
EELint ImGui_TableFlags_SortMulti()
Legacy EELint extension_api("ImGui_TableFlags_SortMulti")
Luanumber retval = reaper.ImGui_TableFlags_SortMulti()
Pythonint retval = ImGui_TableFlags_SortMulti()

Hold shift when clicking headers to sort on multiple column. TableGetGetSortSpecs may return specs where (SpecsCount > 1).

View source

Constant: TableFlags_SortTristate
C++int ImGui::TableFlags_SortTristate
EELint ImGui_TableFlags_SortTristate()
Legacy EELint extension_api("ImGui_TableFlags_SortTristate")
Luanumber retval = reaper.ImGui_TableFlags_SortTristate()
Pythonint retval = ImGui_TableFlags_SortTristate()

Allow no sorting, disable default sorting. TableGetColumnSortSpecs may return specs where (SpecsCount == 0).

View source


Text

Function: AlignTextToFramePadding
C++void ImGui::AlignTextToFramePadding(ImGui_Context* ctx)
EELImGui_AlignTextToFramePadding(ImGui_Context ctx)
Legacy EELextension_api("ImGui_AlignTextToFramePadding", ImGui_Context ctx)
Luareaper.ImGui_AlignTextToFramePadding(ImGui_Context ctx)
PythonImGui_AlignTextToFramePadding(ImGui_Context ctx)

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

View source

Function: Bullet
C++void ImGui::Bullet(ImGui_Context* ctx)
EELImGui_Bullet(ImGui_Context ctx)
Legacy EELextension_api("ImGui_Bullet", ImGui_Context ctx)
Luareaper.ImGui_Bullet(ImGui_Context ctx)
PythonImGui_Bullet(ImGui_Context ctx)

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

View source

Function: BulletText
C++void ImGui::BulletText(ImGui_Context* ctx, const char* text)
EELImGui_BulletText(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_BulletText", ImGui_Context ctx, "text")
Luareaper.ImGui_BulletText(ImGui_Context ctx, string text)
PythonImGui_BulletText(ImGui_Context ctx, str text)

Shortcut for Bullet + Text.

View source

Function: CalcTextSize
C++void ImGui::CalcTextSize(ImGui_Context* ctx, const char* text, double* wOut, double* hOut, bool* hide_text_after_double_hashInOptional = false, double* wrap_widthInOptional = -1.0)
EELImGui_CalcTextSize(ImGui_Context ctx, "text", &w, &h, bool hide_text_after_double_hash = false, wrap_width = -1.0)
Legacy EELextension_api("ImGui_CalcTextSize", ImGui_Context ctx, "text", &w, &h, bool hide_text_after_double_hash = false, wrap_width = -1.0)
Luanumber w, number h = reaper.ImGui_CalcTextSize(ImGui_Context ctx, string text, nil, nil, boolean hide_text_after_double_hash = false, number wrap_width = -1.0)
Python(float w, float h) = ImGui_CalcTextSize(ImGui_Context ctx, str text, bool hide_text_after_double_hash = false, float wrap_width = -1.0)

View source

Function: DebugTextEncoding
C++void ImGui::DebugTextEncoding(ImGui_Context* ctx, const char* text)
EELImGui_DebugTextEncoding(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_DebugTextEncoding", ImGui_Context ctx, "text")
Luareaper.ImGui_DebugTextEncoding(ImGui_Context ctx, string text)
PythonImGui_DebugTextEncoding(ImGui_Context ctx, str text)

Helper tool to diagnose between text encoding issues and font loading issues. Pass your UTF-8 string and verify that there are correct.

View source

Function: GetFrameHeight
C++double ImGui::GetFrameHeight(ImGui_Context* ctx)
EELdouble ImGui_GetFrameHeight(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetFrameHeight", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetFrameHeight(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetFrameHeight(ImGui_Context ctx)

GetFontSize + StyleVar_FramePadding.y * 2

View source

Function: GetFrameHeightWithSpacing
C++double ImGui::GetFrameHeightWithSpacing(ImGui_Context* ctx)
EELdouble ImGui_GetFrameHeightWithSpacing(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetFrameHeightWithSpacing", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetFrameHeightWithSpacing(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetFrameHeightWithSpacing(ImGui_Context ctx)

GetFontSize + StyleVar_FramePadding.y * 2 + StyleVar_ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets).

View source

Function: GetTextLineHeight
C++double ImGui::GetTextLineHeight(ImGui_Context* ctx)
EELdouble ImGui_GetTextLineHeight(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetTextLineHeight", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetTextLineHeight(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetTextLineHeight(ImGui_Context ctx)

Same as GetFontSize

View source

Function: GetTextLineHeightWithSpacing
C++double ImGui::GetTextLineHeightWithSpacing(ImGui_Context* ctx)
EELdouble ImGui_GetTextLineHeightWithSpacing(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetTextLineHeightWithSpacing", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetTextLineHeightWithSpacing(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetTextLineHeightWithSpacing(ImGui_Context ctx)

GetFontSize + StyleVar_ItemSpacing.y (distance in pixels between 2 consecutive lines of text).

View source

Function: LabelText
C++void ImGui::LabelText(ImGui_Context* ctx, const char* label, const char* text)
EELImGui_LabelText(ImGui_Context ctx, "label", "text")
Legacy EELextension_api("ImGui_LabelText", ImGui_Context ctx, "label", "text")
Luareaper.ImGui_LabelText(ImGui_Context ctx, string label, string text)
PythonImGui_LabelText(ImGui_Context ctx, str label, str text)

Display text+label aligned the same way as value+label widgets

View source

Function: PopTextWrapPos
C++void ImGui::PopTextWrapPos(ImGui_Context* ctx)
EELImGui_PopTextWrapPos(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopTextWrapPos", ImGui_Context ctx)
Luareaper.ImGui_PopTextWrapPos(ImGui_Context ctx)
PythonImGui_PopTextWrapPos(ImGui_Context ctx)

View source

Function: PushTextWrapPos
C++void ImGui::PushTextWrapPos(ImGui_Context* ctx, double* wrap_local_pos_xInOptional = 0.0)
EELImGui_PushTextWrapPos(ImGui_Context ctx, wrap_local_pos_x = 0.0)
Legacy EELextension_api("ImGui_PushTextWrapPos", ImGui_Context ctx, wrap_local_pos_x = 0.0)
Luareaper.ImGui_PushTextWrapPos(ImGui_Context ctx, number wrap_local_pos_x = 0.0)
PythonImGui_PushTextWrapPos(ImGui_Context ctx, float wrap_local_pos_x = 0.0)

Push word-wrapping position for Text*() commands.

View source

Function: Text
C++void ImGui::Text(ImGui_Context* ctx, const char* text)
EELImGui_Text(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_Text", ImGui_Context ctx, "text")
Luareaper.ImGui_Text(ImGui_Context ctx, string text)
PythonImGui_Text(ImGui_Context ctx, str text)

View source

Function: TextColored
C++void ImGui::TextColored(ImGui_Context* ctx, int col_rgba, const char* text)
EELImGui_TextColored(ImGui_Context ctx, int col_rgba, "text")
Legacy EELextension_api("ImGui_TextColored", ImGui_Context ctx, int col_rgba, "text")
Luareaper.ImGui_TextColored(ImGui_Context ctx, number col_rgba, string text)
PythonImGui_TextColored(ImGui_Context ctx, int col_rgba, str text)

Shortcut for PushStyleColor(Col_Text, color); Text(text); PopStyleColor();

View source

Function: TextDisabled
C++void ImGui::TextDisabled(ImGui_Context* ctx, const char* text)
EELImGui_TextDisabled(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_TextDisabled", ImGui_Context ctx, "text")
Luareaper.ImGui_TextDisabled(ImGui_Context ctx, string text)
PythonImGui_TextDisabled(ImGui_Context ctx, str text)

View source

Function: TextWrapped
C++void ImGui::TextWrapped(ImGui_Context* ctx, const char* text)
EELImGui_TextWrapped(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_TextWrapped", ImGui_Context ctx, "text")
Luareaper.ImGui_TextWrapped(ImGui_Context ctx, string text)
PythonImGui_TextWrapped(ImGui_Context ctx, str text)

Shortcut for PushTextWrapPos(0.0); Text(text); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, yoy may need to set a size using SetNextWindowSize.

View source


Text & Scalar Input

Function: InputDouble
C++bool ImGui::InputDouble(ImGui_Context* ctx, const char* label, double* vInOut, double* stepInOptional = 0.0, double* step_fastInOptional = 0.0, const char* formatInOptional = "%.3f", int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputDouble(ImGui_Context ctx, "label", &v, step = 0.0, step_fast = 0.0, "format" = "%.3f", int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputDouble", ImGui_Context ctx, "label", &v, step = 0.0, step_fast = 0.0, "format" = "%.3f", int flags = InputTextFlags_None)
Luaboolean retval, number v = reaper.ImGui_InputDouble(ImGui_Context ctx, string label, number v, number step = 0.0, number step_fast = 0.0, string format = "%.3f", number flags = InputTextFlags_None)
Python(bool retval, float v) = ImGui_InputDouble(ImGui_Context ctx, str label, float v, float step = 0.0, float step_fast = 0.0, str format = "%.3f", int flags = InputTextFlags_None)

View source

Function: InputDouble2
C++bool ImGui::InputDouble2(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, const char* formatInOptional = "%.3f", int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputDouble2(ImGui_Context ctx, "label", &v1, &v2, "format" = "%.3f", int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputDouble2", ImGui_Context ctx, "label", &v1, &v2, "format" = "%.3f", int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_InputDouble2(ImGui_Context ctx, string label, number v1, number v2, string format = "%.3f", number flags = InputTextFlags_None)
Python(bool retval, float v1, float v2) = ImGui_InputDouble2(ImGui_Context ctx, str label, float v1, float v2, str format = "%.3f", int flags = InputTextFlags_None)

View source

Function: InputDouble3
C++bool ImGui::InputDouble3(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, const char* formatInOptional = "%.3f", int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputDouble3(ImGui_Context ctx, "label", &v1, &v2, &v3, "format" = "%.3f", int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputDouble3", ImGui_Context ctx, "label", &v1, &v2, &v3, "format" = "%.3f", int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_InputDouble3(ImGui_Context ctx, string label, number v1, number v2, number v3, string format = "%.3f", number flags = InputTextFlags_None)
Python(bool retval, float v1, float v2, float v3) = ImGui_InputDouble3(ImGui_Context ctx, str label, float v1, float v2, float v3, str format = "%.3f", int flags = InputTextFlags_None)

View source

Function: InputDouble4
C++bool ImGui::InputDouble4(ImGui_Context* ctx, const char* label, double* v1InOut, double* v2InOut, double* v3InOut, double* v4InOut, const char* formatInOptional = "%.3f", int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputDouble4(ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, "format" = "%.3f", int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputDouble4", ImGui_Context ctx, "label", &v1, &v2, &v3, &v4, "format" = "%.3f", int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_InputDouble4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, string format = "%.3f", number flags = InputTextFlags_None)
Python(bool retval, float v1, float v2, float v3, float v4) = ImGui_InputDouble4(ImGui_Context ctx, str label, float v1, float v2, float v3, float v4, str format = "%.3f", int flags = InputTextFlags_None)

View source

Function: InputDoubleN
C++bool ImGui::InputDoubleN(ImGui_Context* ctx, const char* label, reaper_array* values, double* stepInOptional = nullptr, double* step_fastInOptional = nullptr, const char* formatInOptional = "%.3f", int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputDoubleN(ImGui_Context ctx, "label", reaper_array values, step = 0, step_fast = 0, "format" = "%.3f", int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputDoubleN", ImGui_Context ctx, "label", reaper_array values, step = 0, step_fast = 0, "format" = "%.3f", int flags = InputTextFlags_None)
Luaboolean retval = reaper.ImGui_InputDoubleN(ImGui_Context ctx, string label, reaper_array values, number step = nil, number step_fast = nil, string format = "%.3f", number flags = InputTextFlags_None)
Pythonbool retval = ImGui_InputDoubleN(ImGui_Context ctx, str label, reaper_array values, float step = None, float step_fast = None, str format = "%.3f", int flags = InputTextFlags_None)

View source

Function: InputInt
C++bool ImGui::InputInt(ImGui_Context* ctx, const char* label, int* vInOut, int* stepInOptional = 1, int* step_fastInOptional = 100, int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputInt(ImGui_Context ctx, "label", int &v, int step = 1, int step_fast = 100, int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputInt", ImGui_Context ctx, "label", int &v, int step = 1, int step_fast = 100, int flags = InputTextFlags_None)
Luaboolean retval, number v = reaper.ImGui_InputInt(ImGui_Context ctx, string label, number v, number step = 1, number step_fast = 100, number flags = InputTextFlags_None)
Python(bool retval, int v) = ImGui_InputInt(ImGui_Context ctx, str label, int v, int step = 1, int step_fast = 100, int flags = InputTextFlags_None)

View source

Function: InputInt2
C++bool ImGui::InputInt2(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputInt2(ImGui_Context ctx, "label", int &v1, int &v2, int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputInt2", ImGui_Context ctx, "label", int &v1, int &v2, int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2 = reaper.ImGui_InputInt2(ImGui_Context ctx, string label, number v1, number v2, number flags = InputTextFlags_None)
Python(bool retval, int v1, int v2) = ImGui_InputInt2(ImGui_Context ctx, str label, int v1, int v2, int flags = InputTextFlags_None)

View source

Function: InputInt3
C++bool ImGui::InputInt3(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputInt3(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputInt3", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2, number v3 = reaper.ImGui_InputInt3(ImGui_Context ctx, string label, number v1, number v2, number v3, number flags = InputTextFlags_None)
Python(bool retval, int v1, int v2, int v3) = ImGui_InputInt3(ImGui_Context ctx, str label, int v1, int v2, int v3, int flags = InputTextFlags_None)

View source

Function: InputInt4
C++bool ImGui::InputInt4(ImGui_Context* ctx, const char* label, int* v1InOut, int* v2InOut, int* v3InOut, int* v4InOut, int* flagsInOptional = InputTextFlags_None)
EELbool ImGui_InputInt4(ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, int flags = InputTextFlags_None)
Legacy EELbool extension_api("ImGui_InputInt4", ImGui_Context ctx, "label", int &v1, int &v2, int &v3, int &v4, int flags = InputTextFlags_None)
Luaboolean retval, number v1, number v2, number v3, number v4 = reaper.ImGui_InputInt4(ImGui_Context ctx, string label, number v1, number v2, number v3, number v4, number flags = InputTextFlags_None)
Python(bool retval, int v1, int v2, int v3, int v4) = ImGui_InputInt4(ImGui_Context ctx, str label, int v1, int v2, int v3, int v4, int flags = InputTextFlags_None)

View source

Function: InputText
C++bool ImGui::InputText(ImGui_Context* ctx, const char* label, char* bufInOutNeedBig, int bufInOutNeedBig_sz, int* flagsInOptional = InputTextFlags_None, ImGui_Function* callbackInOptional = nullptr)
EELbool ImGui_InputText(ImGui_Context ctx, "label", #buf, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Legacy EELbool extension_api("ImGui_InputText", ImGui_Context ctx, "label", #buf, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Luaboolean retval, string buf = reaper.ImGui_InputText(ImGui_Context ctx, string label, string buf, number flags = InputTextFlags_None, ImGui_Function callback = nil)
Python(bool retval, str buf) = ImGui_InputText(ImGui_Context ctx, str label, str buf, int flags = InputTextFlags_None, ImGui_Function callback = None)

View source

Function: InputTextMultiline
C++bool ImGui::InputTextMultiline(ImGui_Context* ctx, const char* label, char* bufInOutNeedBig, int bufInOutNeedBig_sz, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0, int* flagsInOptional = InputTextFlags_None, ImGui_Function* callbackInOptional = nullptr)
EELbool ImGui_InputTextMultiline(ImGui_Context ctx, "label", #buf, size_w = 0.0, size_h = 0.0, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Legacy EELbool extension_api("ImGui_InputTextMultiline", ImGui_Context ctx, "label", #buf, size_w = 0.0, size_h = 0.0, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Luaboolean retval, string buf = reaper.ImGui_InputTextMultiline(ImGui_Context ctx, string label, string buf, number size_w = 0.0, number size_h = 0.0, number flags = InputTextFlags_None, ImGui_Function callback = nil)
Python(bool retval, str buf) = ImGui_InputTextMultiline(ImGui_Context ctx, str label, str buf, float size_w = 0.0, float size_h = 0.0, int flags = InputTextFlags_None, ImGui_Function callback = None)

View source

Function: InputTextWithHint
C++bool ImGui::InputTextWithHint(ImGui_Context* ctx, const char* label, const char* hint, char* bufInOutNeedBig, int bufInOutNeedBig_sz, int* flagsInOptional = InputTextFlags_None, ImGui_Function* callbackInOptional = nullptr)
EELbool ImGui_InputTextWithHint(ImGui_Context ctx, "label", "hint", #buf, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Legacy EELbool extension_api("ImGui_InputTextWithHint", ImGui_Context ctx, "label", "hint", #buf, int flags = InputTextFlags_None, ImGui_Function callback = 0)
Luaboolean retval, string buf = reaper.ImGui_InputTextWithHint(ImGui_Context ctx, string label, string hint, string buf, number flags = InputTextFlags_None, ImGui_Function callback = nil)
Python(bool retval, str buf) = ImGui_InputTextWithHint(ImGui_Context ctx, str label, str hint, str buf, int flags = InputTextFlags_None, ImGui_Function callback = None)

View source

Flags

Most of these are only useful for InputText*() and not for InputDoubleX, InputIntX etc.

(Those are per-item flags. There are shared flags in SetConfigVar: ConfigVar_InputTextCursorBlink and ConfigVar_InputTextEnterKeepActive.)

Constant: InputTextFlags_AllowTabInput
C++int ImGui::InputTextFlags_AllowTabInput
EELint ImGui_InputTextFlags_AllowTabInput()
Legacy EELint extension_api("ImGui_InputTextFlags_AllowTabInput")
Luanumber retval = reaper.ImGui_InputTextFlags_AllowTabInput()
Pythonint retval = ImGui_InputTextFlags_AllowTabInput()

Pressing TAB input a '\t' character into the text field.

View source

Constant: InputTextFlags_AlwaysOverwrite
C++int ImGui::InputTextFlags_AlwaysOverwrite
EELint ImGui_InputTextFlags_AlwaysOverwrite()
Legacy EELint extension_api("ImGui_InputTextFlags_AlwaysOverwrite")
Luanumber retval = reaper.ImGui_InputTextFlags_AlwaysOverwrite()
Pythonint retval = ImGui_InputTextFlags_AlwaysOverwrite()

Overwrite mode.

View source

Constant: InputTextFlags_AutoSelectAll
C++int ImGui::InputTextFlags_AutoSelectAll
EELint ImGui_InputTextFlags_AutoSelectAll()
Legacy EELint extension_api("ImGui_InputTextFlags_AutoSelectAll")
Luanumber retval = reaper.ImGui_InputTextFlags_AutoSelectAll()
Pythonint retval = ImGui_InputTextFlags_AutoSelectAll()

Select entire text when first taking mouse focus.

View source

Constant: InputTextFlags_CallbackAlways
C++int ImGui::InputTextFlags_CallbackAlways
EELint ImGui_InputTextFlags_CallbackAlways()
Legacy EELint extension_api("ImGui_InputTextFlags_CallbackAlways")
Luanumber retval = reaper.ImGui_InputTextFlags_CallbackAlways()
Pythonint retval = ImGui_InputTextFlags_CallbackAlways()

Callback on each iteration. User code may query cursor position, modify text buffer.

View source

Constant: InputTextFlags_CallbackCharFilter
C++int ImGui::InputTextFlags_CallbackCharFilter
EELint ImGui_InputTextFlags_CallbackCharFilter()
Legacy EELint extension_api("ImGui_InputTextFlags_CallbackCharFilter")
Luanumber retval = reaper.ImGui_InputTextFlags_CallbackCharFilter()
Pythonint retval = ImGui_InputTextFlags_CallbackCharFilter()

Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or 'EventChar = 0' to discard.

View source

Constant: InputTextFlags_CallbackCompletion
C++int ImGui::InputTextFlags_CallbackCompletion
EELint ImGui_InputTextFlags_CallbackCompletion()
Legacy EELint extension_api("ImGui_InputTextFlags_CallbackCompletion")
Luanumber retval = reaper.ImGui_InputTextFlags_CallbackCompletion()
Pythonint retval = ImGui_InputTextFlags_CallbackCompletion()

Callback on pressing TAB (for completion handling).

View source

Constant: InputTextFlags_CallbackEdit
C++int ImGui::InputTextFlags_CallbackEdit
EELint ImGui_InputTextFlags_CallbackEdit()
Legacy EELint extension_api("ImGui_InputTextFlags_CallbackEdit")
Luanumber retval = reaper.ImGui_InputTextFlags_CallbackEdit()
Pythonint retval = ImGui_InputTextFlags_CallbackEdit()

Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).

View source

Constant: InputTextFlags_CallbackHistory
C++int ImGui::InputTextFlags_CallbackHistory
EELint ImGui_InputTextFlags_CallbackHistory()
Legacy EELint extension_api("ImGui_InputTextFlags_CallbackHistory")
Luanumber retval = reaper.ImGui_InputTextFlags_CallbackHistory()
Pythonint retval = ImGui_InputTextFlags_CallbackHistory()

Callback on pressing Up/Down arrows (for history handling).

View source

Constant: InputTextFlags_CharsDecimal
C++int ImGui::InputTextFlags_CharsDecimal
EELint ImGui_InputTextFlags_CharsDecimal()
Legacy EELint extension_api("ImGui_InputTextFlags_CharsDecimal")
Luanumber retval = reaper.ImGui_InputTextFlags_CharsDecimal()
Pythonint retval = ImGui_InputTextFlags_CharsDecimal()

Allow 0123456789.+-*/.

View source

Constant: InputTextFlags_CharsHexadecimal
C++int ImGui::InputTextFlags_CharsHexadecimal
EELint ImGui_InputTextFlags_CharsHexadecimal()
Legacy EELint extension_api("ImGui_InputTextFlags_CharsHexadecimal")
Luanumber retval = reaper.ImGui_InputTextFlags_CharsHexadecimal()
Pythonint retval = ImGui_InputTextFlags_CharsHexadecimal()

Allow 0123456789ABCDEFabcdef.

View source

Constant: InputTextFlags_CharsNoBlank
C++int ImGui::InputTextFlags_CharsNoBlank
EELint ImGui_InputTextFlags_CharsNoBlank()
Legacy EELint extension_api("ImGui_InputTextFlags_CharsNoBlank")
Luanumber retval = reaper.ImGui_InputTextFlags_CharsNoBlank()
Pythonint retval = ImGui_InputTextFlags_CharsNoBlank()

Filter out spaces, tabs.

View source

Constant: InputTextFlags_CharsScientific
C++int ImGui::InputTextFlags_CharsScientific
EELint ImGui_InputTextFlags_CharsScientific()
Legacy EELint extension_api("ImGui_InputTextFlags_CharsScientific")
Luanumber retval = reaper.ImGui_InputTextFlags_CharsScientific()
Pythonint retval = ImGui_InputTextFlags_CharsScientific()

Allow 0123456789.+-*/eE (Scientific notation input).

View source

Constant: InputTextFlags_CharsUppercase
C++int ImGui::InputTextFlags_CharsUppercase
EELint ImGui_InputTextFlags_CharsUppercase()
Legacy EELint extension_api("ImGui_InputTextFlags_CharsUppercase")
Luanumber retval = reaper.ImGui_InputTextFlags_CharsUppercase()
Pythonint retval = ImGui_InputTextFlags_CharsUppercase()

Turn a..z into A..Z.

View source

Constant: InputTextFlags_CtrlEnterForNewLine
C++int ImGui::InputTextFlags_CtrlEnterForNewLine
EELint ImGui_InputTextFlags_CtrlEnterForNewLine()
Legacy EELint extension_api("ImGui_InputTextFlags_CtrlEnterForNewLine")
Luanumber retval = reaper.ImGui_InputTextFlags_CtrlEnterForNewLine()
Pythonint retval = ImGui_InputTextFlags_CtrlEnterForNewLine()

In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).

View source

Constant: InputTextFlags_EnterReturnsTrue
C++int ImGui::InputTextFlags_EnterReturnsTrue
EELint ImGui_InputTextFlags_EnterReturnsTrue()
Legacy EELint extension_api("ImGui_InputTextFlags_EnterReturnsTrue")
Luanumber retval = reaper.ImGui_InputTextFlags_EnterReturnsTrue()
Pythonint retval = ImGui_InputTextFlags_EnterReturnsTrue()

Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit function.

View source

Constant: InputTextFlags_EscapeClearsAll
C++int ImGui::InputTextFlags_EscapeClearsAll
EELint ImGui_InputTextFlags_EscapeClearsAll()
Legacy EELint extension_api("ImGui_InputTextFlags_EscapeClearsAll")
Luanumber retval = reaper.ImGui_InputTextFlags_EscapeClearsAll()
Pythonint retval = ImGui_InputTextFlags_EscapeClearsAll()

Escape key clears content if not empty, and deactivate otherwise (constrast to default behavior of Escape to revert).

View source

Constant: InputTextFlags_NoHorizontalScroll
C++int ImGui::InputTextFlags_NoHorizontalScroll
EELint ImGui_InputTextFlags_NoHorizontalScroll()
Legacy EELint extension_api("ImGui_InputTextFlags_NoHorizontalScroll")
Luanumber retval = reaper.ImGui_InputTextFlags_NoHorizontalScroll()
Pythonint retval = ImGui_InputTextFlags_NoHorizontalScroll()

Disable following the cursor horizontally.

View source

Constant: InputTextFlags_NoUndoRedo
C++int ImGui::InputTextFlags_NoUndoRedo
EELint ImGui_InputTextFlags_NoUndoRedo()
Legacy EELint extension_api("ImGui_InputTextFlags_NoUndoRedo")
Luanumber retval = reaper.ImGui_InputTextFlags_NoUndoRedo()
Pythonint retval = ImGui_InputTextFlags_NoUndoRedo()

Disable undo/redo. Note that input text owns the text data while active.

View source

Constant: InputTextFlags_None
C++int ImGui::InputTextFlags_None
EELint ImGui_InputTextFlags_None()
Legacy EELint extension_api("ImGui_InputTextFlags_None")
Luanumber retval = reaper.ImGui_InputTextFlags_None()
Pythonint retval = ImGui_InputTextFlags_None()

View source

Constant: InputTextFlags_Password
C++int ImGui::InputTextFlags_Password
EELint ImGui_InputTextFlags_Password()
Legacy EELint extension_api("ImGui_InputTextFlags_Password")
Luanumber retval = reaper.ImGui_InputTextFlags_Password()
Pythonint retval = ImGui_InputTextFlags_Password()

Password mode, display all characters as '*'.

View source

Constant: InputTextFlags_ReadOnly
C++int ImGui::InputTextFlags_ReadOnly
EELint ImGui_InputTextFlags_ReadOnly()
Legacy EELint extension_api("ImGui_InputTextFlags_ReadOnly")
Luanumber retval = reaper.ImGui_InputTextFlags_ReadOnly()
Pythonint retval = ImGui_InputTextFlags_ReadOnly()

Read-only mode.

View source

InputText Callback

The functions and variables documented in this section are only available within the callbacks given to the InputText* functions. See CreateFunctionFromEEL.

local reverseAlphabet = reaper.ImGui_CreateFunctionFromEEL([[
  EventChar >= 'a' && EventChar <= 'z' ? EventChar = 'z' - (EventChar - 'a');
]])

local function frame()
  rv, text = reaper.ImGui_InputText(ctx, 'Lowercase reversed', text,
    reaper.ImGui_InputTextFlags_CallbackCharFilter(), reverseAlphabet)
end

Variable access table (R = updated for reading, W = writes are applied, - = unmodified):

Always CharFilter Completion Edit History
EventFlag R/- R/- R/- R/- R/-
Flags R/- R/- R/- R/- R/-
EventChar -/- R/W -/- -/- -/-
EventKey -/- -/- R/- -/- R/-
Buf R/- -/- R/- R/- R/-
CursorPos R/W -/- R/W R/W R/W
SelectionStart R/W -/- R/W R/W R/W
SelectionEnd R/W -/- R/W R/W R/W

The InputTextCallback_* functions should only be used when EventFlag is one of InputTextFlags_CallbackAlways/Completion/Edit/History.

Variable: Buf
EEL#Buf

Current value being edited.

View source

Variable: CursorPos
EELint CursorPos

View source

Variable: EventChar
EELint EventChar

Character input. Replace character with another one, or set to zero to drop.

View source

Variable: EventFlag
EELint EventFlag

One of InputTextFlags_Callback*

View source

Variable: EventKey
EELint EventKey

Key_UpArrow/DownArrow/Tab. Compare against these constants instead of a hard-coded numerical value.

View source

Variable: Flags
EELint Flags

What was passed to InputText()

View source

Function: InputTextCallback_ClearSelection
EELInputTextCallback_ClearSelection()

View source

Function: InputTextCallback_DeleteChars
EELInputTextCallback_DeleteChars(int pos, int bytes_count)

View source

Function: InputTextCallback_HasSelection
EELbool InputTextCallback_HasSelection()

View source

Function: InputTextCallback_InsertChars
EELInputTextCallback_InsertChars(int pos, "new_text")

View source

Function: InputTextCallback_SelectAll
EELInputTextCallback_SelectAll()

View source

Variable: SelectionEnd
EELint SelectionEnd

View source

Variable: SelectionStart
EELint SelectionStart

Equal to SelectionEnd when no selection.

View source


Text Filter

Helper to perform simple filtering on text strings. In format "aaaaa[,bbbb][,ccccc]".

Filter usage:

Function: CreateTextFilter
C++ImGui_TextFilter* ImGui::CreateTextFilter(const char* default_filterInOptional = "")
EELImGui_TextFilter* ImGui_CreateTextFilter("default_filter" = "")
Legacy EELImGui_TextFilter* extension_api("ImGui_CreateTextFilter", "default_filter" = "")
LuaImGui_TextFilter retval = reaper.ImGui_CreateTextFilter(string default_filter = "")
PythonImGui_TextFilter retval = ImGui_CreateTextFilter(str default_filter = "")

Valid while used every frame unless attached to a context (see Attach).

View source

Function: TextFilter_Clear
C++void ImGui::TextFilter_Clear(ImGui_TextFilter* filter)
EELImGui_TextFilter_Clear(ImGui_TextFilter filter)
Legacy EELextension_api("ImGui_TextFilter_Clear", ImGui_TextFilter filter)
Luareaper.ImGui_TextFilter_Clear(ImGui_TextFilter filter)
PythonImGui_TextFilter_Clear(ImGui_TextFilter filter)

View source

Function: TextFilter_Draw
C++bool ImGui::TextFilter_Draw(ImGui_TextFilter* filter, ImGui_Context* ctx, const char* labelInOptional = "Filter (inc,-exc)", double* widthInOptional = 0.0)
EELbool ImGui_TextFilter_Draw(ImGui_TextFilter filter, ImGui_Context ctx, "label" = "Filter (inc,-exc)", width = 0.0)
Legacy EELbool extension_api("ImGui_TextFilter_Draw", ImGui_TextFilter filter, ImGui_Context ctx, "label" = "Filter (inc,-exc)", width = 0.0)
Luaboolean retval = reaper.ImGui_TextFilter_Draw(ImGui_TextFilter filter, ImGui_Context ctx, string label = "Filter (inc,-exc)", number width = 0.0)
Pythonbool retval = ImGui_TextFilter_Draw(ImGui_TextFilter filter, ImGui_Context ctx, str label = "Filter (inc,-exc)", float width = 0.0)

Helper calling InputText+TextFilter_Set

View source

Function: TextFilter_Get
C++const char* ImGui::TextFilter_Get(ImGui_TextFilter* filter)
EELconst char* ImGui_TextFilter_Get(ImGui_TextFilter filter)
Legacy EELconst char* extension_api("ImGui_TextFilter_Get", ImGui_TextFilter filter)
Luastring retval = reaper.ImGui_TextFilter_Get(ImGui_TextFilter filter)
Pythonstr retval = ImGui_TextFilter_Get(ImGui_TextFilter filter)

View source

Function: TextFilter_IsActive
C++bool ImGui::TextFilter_IsActive(ImGui_TextFilter* filter)
EELbool ImGui_TextFilter_IsActive(ImGui_TextFilter filter)
Legacy EELbool extension_api("ImGui_TextFilter_IsActive", ImGui_TextFilter filter)
Luaboolean retval = reaper.ImGui_TextFilter_IsActive(ImGui_TextFilter filter)
Pythonbool retval = ImGui_TextFilter_IsActive(ImGui_TextFilter filter)

View source

Function: TextFilter_PassFilter
C++bool ImGui::TextFilter_PassFilter(ImGui_TextFilter* filter, const char* text)
EELbool ImGui_TextFilter_PassFilter(ImGui_TextFilter filter, "text")
Legacy EELbool extension_api("ImGui_TextFilter_PassFilter", ImGui_TextFilter filter, "text")
Luaboolean retval = reaper.ImGui_TextFilter_PassFilter(ImGui_TextFilter filter, string text)
Pythonbool retval = ImGui_TextFilter_PassFilter(ImGui_TextFilter filter, str text)

View source

Function: TextFilter_Set
C++void ImGui::TextFilter_Set(ImGui_TextFilter* filter, const char* filter_text)
EELImGui_TextFilter_Set(ImGui_TextFilter filter, "filter_text")
Legacy EELextension_api("ImGui_TextFilter_Set", ImGui_TextFilter filter, "filter_text")
Luareaper.ImGui_TextFilter_Set(ImGui_TextFilter filter, string filter_text)
PythonImGui_TextFilter_Set(ImGui_TextFilter filter, str filter_text)

View source


Tree Node

Function: CollapsingHeader
C++bool ImGui::CollapsingHeader(ImGui_Context* ctx, const char* label, bool* p_visibleInOut, int* flagsInOptional = TreeNodeFlags_None)
EELbool ImGui_CollapsingHeader(ImGui_Context ctx, "label", bool &p_visible, int flags = TreeNodeFlags_None)
Legacy EELbool extension_api("ImGui_CollapsingHeader", ImGui_Context ctx, "label", bool &p_visible, int flags = TreeNodeFlags_None)
Luaboolean retval, boolean p_visible = reaper.ImGui_CollapsingHeader(ImGui_Context ctx, string label, boolean p_visible, number flags = TreeNodeFlags_None)
Python(bool retval, bool p_visible) = ImGui_CollapsingHeader(ImGui_Context ctx, str label, bool p_visible, int flags = TreeNodeFlags_None)

Returns true when opened but do not indent nor push into the ID stack (because of the TreeNodeFlags_NoTreePushOnOpen flag).

This is basically the same as calling TreeNode(label, TreeNodeFlags_CollapsingHeader). You can remove the _NoTreePushOnOpen flag if you want behavior closer to normal TreeNode.

When 'visible' is provided: if 'true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if 'false' don't display the header.

View source

Function: GetTreeNodeToLabelSpacing
C++double ImGui::GetTreeNodeToLabelSpacing(ImGui_Context* ctx)
EELdouble ImGui_GetTreeNodeToLabelSpacing(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetTreeNodeToLabelSpacing", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetTreeNodeToLabelSpacing(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetTreeNodeToLabelSpacing(ImGui_Context ctx)

Horizontal distance preceding label when using TreeNode*() or Bullet() == (GetFontSize + StyleVar_FramePadding.x*2) for a regular unframed TreeNode.

View source

Function: IsItemToggledOpen
C++bool ImGui::IsItemToggledOpen(ImGui_Context* ctx)
EELbool ImGui_IsItemToggledOpen(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsItemToggledOpen", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsItemToggledOpen(ImGui_Context ctx)
Pythonbool retval = ImGui_IsItemToggledOpen(ImGui_Context ctx)

Was the last item open state toggled? Set by TreeNode.

View source

Function: SetNextItemOpen
C++void ImGui::SetNextItemOpen(ImGui_Context* ctx, bool is_open, int* condInOptional = Cond_Always)
EELImGui_SetNextItemOpen(ImGui_Context ctx, bool is_open, int cond = Cond_Always)
Legacy EELextension_api("ImGui_SetNextItemOpen", ImGui_Context ctx, bool is_open, int cond = Cond_Always)
Luareaper.ImGui_SetNextItemOpen(ImGui_Context ctx, boolean is_open, number cond = Cond_Always)
PythonImGui_SetNextItemOpen(ImGui_Context ctx, bool is_open, int cond = Cond_Always)

Set next TreeNode/CollapsingHeader open state. Can also be done with the TreeNodeFlags_DefaultOpen flag.

View source

Function: TreeNode
C++bool ImGui::TreeNode(ImGui_Context* ctx, const char* label, int* flagsInOptional = TreeNodeFlags_None)
EELbool ImGui_TreeNode(ImGui_Context ctx, "label", int flags = TreeNodeFlags_None)
Legacy EELbool extension_api("ImGui_TreeNode", ImGui_Context ctx, "label", int flags = TreeNodeFlags_None)
Luaboolean retval = reaper.ImGui_TreeNode(ImGui_Context ctx, string label, number flags = TreeNodeFlags_None)
Pythonbool retval = ImGui_TreeNode(ImGui_Context ctx, str label, int flags = TreeNodeFlags_None)

TreeNode functions return true when the node is open, in which case you need to also call TreePop when you are finished displaying the tree node contents.

View source

Function: TreeNodeEx
C++bool ImGui::TreeNodeEx(ImGui_Context* ctx, const char* str_id, const char* label, int* flagsInOptional = TreeNodeFlags_None)
EELbool ImGui_TreeNodeEx(ImGui_Context ctx, "str_id", "label", int flags = TreeNodeFlags_None)
Legacy EELbool extension_api("ImGui_TreeNodeEx", ImGui_Context ctx, "str_id", "label", int flags = TreeNodeFlags_None)
Luaboolean retval = reaper.ImGui_TreeNodeEx(ImGui_Context ctx, string str_id, string label, number flags = TreeNodeFlags_None)
Pythonbool retval = ImGui_TreeNodeEx(ImGui_Context ctx, str str_id, str label, int flags = TreeNodeFlags_None)

Helper variation to easily decorelate the id from the displayed string. Read the FAQ about why and how to use ID. To align arbitrary text at the same level as a TreeNode you can use Bullet.

View source

Function: TreePop
C++void ImGui::TreePop(ImGui_Context* ctx)
EELImGui_TreePop(ImGui_Context ctx)
Legacy EELextension_api("ImGui_TreePop", ImGui_Context ctx)
Luareaper.ImGui_TreePop(ImGui_Context ctx)
PythonImGui_TreePop(ImGui_Context ctx)

Unindent()+PopID()

View source

Function: TreePush
C++void ImGui::TreePush(ImGui_Context* ctx, const char* str_id)
EELImGui_TreePush(ImGui_Context ctx, "str_id")
Legacy EELextension_api("ImGui_TreePush", ImGui_Context ctx, "str_id")
Luareaper.ImGui_TreePush(ImGui_Context ctx, string str_id)
PythonImGui_TreePush(ImGui_Context ctx, str str_id)

Indent()+PushID(). Already called by TreeNode when returning true, but you can call TreePush/TreePop yourself if desired.

View source

Flags

For TreeNode, TreeNodeEx and CollapsingHeader.

Constant: TreeNodeFlags_AllowItemOverlap
C++int ImGui::TreeNodeFlags_AllowItemOverlap
EELint ImGui_TreeNodeFlags_AllowItemOverlap()
Legacy EELint extension_api("ImGui_TreeNodeFlags_AllowItemOverlap")
Luanumber retval = reaper.ImGui_TreeNodeFlags_AllowItemOverlap()
Pythonint retval = ImGui_TreeNodeFlags_AllowItemOverlap()

Hit testing to allow subsequent widgets to overlap this one.

View source

Constant: TreeNodeFlags_Bullet
C++int ImGui::TreeNodeFlags_Bullet
EELint ImGui_TreeNodeFlags_Bullet()
Legacy EELint extension_api("ImGui_TreeNodeFlags_Bullet")
Luanumber retval = reaper.ImGui_TreeNodeFlags_Bullet()
Pythonint retval = ImGui_TreeNodeFlags_Bullet()

Display a bullet instead of arrow.

View source

Constant: TreeNodeFlags_CollapsingHeader
C++int ImGui::TreeNodeFlags_CollapsingHeader
EELint ImGui_TreeNodeFlags_CollapsingHeader()
Legacy EELint extension_api("ImGui_TreeNodeFlags_CollapsingHeader")
Luanumber retval = reaper.ImGui_TreeNodeFlags_CollapsingHeader()
Pythonint retval = ImGui_TreeNodeFlags_CollapsingHeader()

TreeNodeFlags_Framed | TreeNodeFlags_NoTreePushOnOpen | TreeNodeFlags_NoAutoOpenOnLog

View source

Constant: TreeNodeFlags_DefaultOpen
C++int ImGui::TreeNodeFlags_DefaultOpen
EELint ImGui_TreeNodeFlags_DefaultOpen()
Legacy EELint extension_api("ImGui_TreeNodeFlags_DefaultOpen")
Luanumber retval = reaper.ImGui_TreeNodeFlags_DefaultOpen()
Pythonint retval = ImGui_TreeNodeFlags_DefaultOpen()

Default node to be open.

View source

Constant: TreeNodeFlags_FramePadding
C++int ImGui::TreeNodeFlags_FramePadding
EELint ImGui_TreeNodeFlags_FramePadding()
Legacy EELint extension_api("ImGui_TreeNodeFlags_FramePadding")
Luanumber retval = reaper.ImGui_TreeNodeFlags_FramePadding()
Pythonint retval = ImGui_TreeNodeFlags_FramePadding()

Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding.

View source

Constant: TreeNodeFlags_Framed
C++int ImGui::TreeNodeFlags_Framed
EELint ImGui_TreeNodeFlags_Framed()
Legacy EELint extension_api("ImGui_TreeNodeFlags_Framed")
Luanumber retval = reaper.ImGui_TreeNodeFlags_Framed()
Pythonint retval = ImGui_TreeNodeFlags_Framed()

Draw frame with background (e.g. for CollapsingHeader).

View source

Constant: TreeNodeFlags_Leaf
C++int ImGui::TreeNodeFlags_Leaf
EELint ImGui_TreeNodeFlags_Leaf()
Legacy EELint extension_api("ImGui_TreeNodeFlags_Leaf")
Luanumber retval = reaper.ImGui_TreeNodeFlags_Leaf()
Pythonint retval = ImGui_TreeNodeFlags_Leaf()

No collapsing, no arrow (use as a convenience for leaf nodes).

View source

Constant: TreeNodeFlags_NoAutoOpenOnLog
C++int ImGui::TreeNodeFlags_NoAutoOpenOnLog
EELint ImGui_TreeNodeFlags_NoAutoOpenOnLog()
Legacy EELint extension_api("ImGui_TreeNodeFlags_NoAutoOpenOnLog")
Luanumber retval = reaper.ImGui_TreeNodeFlags_NoAutoOpenOnLog()
Pythonint retval = ImGui_TreeNodeFlags_NoAutoOpenOnLog()

Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes).

View source

Constant: TreeNodeFlags_NoTreePushOnOpen
C++int ImGui::TreeNodeFlags_NoTreePushOnOpen
EELint ImGui_TreeNodeFlags_NoTreePushOnOpen()
Legacy EELint extension_api("ImGui_TreeNodeFlags_NoTreePushOnOpen")
Luanumber retval = reaper.ImGui_TreeNodeFlags_NoTreePushOnOpen()
Pythonint retval = ImGui_TreeNodeFlags_NoTreePushOnOpen()

Don't do a TreePush when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack.

View source

Constant: TreeNodeFlags_None
C++int ImGui::TreeNodeFlags_None
EELint ImGui_TreeNodeFlags_None()
Legacy EELint extension_api("ImGui_TreeNodeFlags_None")
Luanumber retval = reaper.ImGui_TreeNodeFlags_None()
Pythonint retval = ImGui_TreeNodeFlags_None()

View source

Constant: TreeNodeFlags_OpenOnArrow
C++int ImGui::TreeNodeFlags_OpenOnArrow
EELint ImGui_TreeNodeFlags_OpenOnArrow()
Legacy EELint extension_api("ImGui_TreeNodeFlags_OpenOnArrow")
Luanumber retval = reaper.ImGui_TreeNodeFlags_OpenOnArrow()
Pythonint retval = ImGui_TreeNodeFlags_OpenOnArrow()

Only open when clicking on the arrow part. If TreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.

View source

Constant: TreeNodeFlags_OpenOnDoubleClick
C++int ImGui::TreeNodeFlags_OpenOnDoubleClick
EELint ImGui_TreeNodeFlags_OpenOnDoubleClick()
Legacy EELint extension_api("ImGui_TreeNodeFlags_OpenOnDoubleClick")
Luanumber retval = reaper.ImGui_TreeNodeFlags_OpenOnDoubleClick()
Pythonint retval = ImGui_TreeNodeFlags_OpenOnDoubleClick()

Need double-click to open node.

View source

Constant: TreeNodeFlags_Selected
C++int ImGui::TreeNodeFlags_Selected
EELint ImGui_TreeNodeFlags_Selected()
Legacy EELint extension_api("ImGui_TreeNodeFlags_Selected")
Luanumber retval = reaper.ImGui_TreeNodeFlags_Selected()
Pythonint retval = ImGui_TreeNodeFlags_Selected()

Draw as selected.

View source

Constant: TreeNodeFlags_SpanAvailWidth
C++int ImGui::TreeNodeFlags_SpanAvailWidth
EELint ImGui_TreeNodeFlags_SpanAvailWidth()
Legacy EELint extension_api("ImGui_TreeNodeFlags_SpanAvailWidth")
Luanumber retval = reaper.ImGui_TreeNodeFlags_SpanAvailWidth()
Pythonint retval = ImGui_TreeNodeFlags_SpanAvailWidth()

Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line. In the future we may refactor the hit system to be front-to-back, allowing natural overlaps and then this can become the default.

View source

Constant: TreeNodeFlags_SpanFullWidth
C++int ImGui::TreeNodeFlags_SpanFullWidth
EELint ImGui_TreeNodeFlags_SpanFullWidth()
Legacy EELint extension_api("ImGui_TreeNodeFlags_SpanFullWidth")
Luanumber retval = reaper.ImGui_TreeNodeFlags_SpanFullWidth()
Pythonint retval = ImGui_TreeNodeFlags_SpanFullWidth()

Extend hit box to the left-most and right-most edges (bypass the indented area).

View source


Utility

Function: GetVersion
C++void ImGui::GetVersion(char* imgui_versionOut, int imgui_versionOut_sz, int* imgui_version_numOut, char* reaimgui_versionOut, int reaimgui_versionOut_sz)
EELImGui_GetVersion(#imgui_version, int &imgui_version_num, #reaimgui_version)
Legacy EELextension_api("ImGui_GetVersion", #imgui_version, int &imgui_version_num, #reaimgui_version)
Luastring imgui_version, number imgui_version_num, string reaimgui_version = reaper.ImGui_GetVersion()
Python(str imgui_version, int imgui_version_num, str reaimgui_version) = ImGui_GetVersion()

View source

Function: NumericLimits_Double
C++void ImGui::NumericLimits_Double(double* minOut, double* maxOut)
EELImGui_NumericLimits_Double(&min, &max)
Legacy EELextension_api("ImGui_NumericLimits_Double", &min, &max)
Luanumber min, number max = reaper.ImGui_NumericLimits_Double()
Python(float min, float max) = ImGui_NumericLimits_Double()

Returns DBL_MIN and DBL_MAX for this system.

View source

Function: NumericLimits_Float
C++void ImGui::NumericLimits_Float(double* minOut, double* maxOut)
EELImGui_NumericLimits_Float(&min, &max)
Legacy EELextension_api("ImGui_NumericLimits_Float", &min, &max)
Luanumber min, number max = reaper.ImGui_NumericLimits_Float()
Python(float min, float max) = ImGui_NumericLimits_Float()

Returns FLT_MIN and FLT_MAX for this system.

View source

Function: NumericLimits_Int
C++void ImGui::NumericLimits_Int(int* minOut, int* maxOut)
EELImGui_NumericLimits_Int(int &min, int &max)
Legacy EELextension_api("ImGui_NumericLimits_Int", int &min, int &max)
Luanumber min, number max = reaper.ImGui_NumericLimits_Int()
Python(int min, int max) = ImGui_NumericLimits_Int()

Returns INT_MIN and INT_MAX for this system.

View source

Function: PointConvertNative
C++void ImGui::PointConvertNative(ImGui_Context* ctx, double* xInOut, double* yInOut, bool* to_nativeInOptional = false)
EELImGui_PointConvertNative(ImGui_Context ctx, &x, &y, bool to_native = false)
Legacy EELextension_api("ImGui_PointConvertNative", ImGui_Context ctx, &x, &y, bool to_native = false)
Luanumber x, number y = reaper.ImGui_PointConvertNative(ImGui_Context ctx, number x, number y, boolean to_native = false)
Python(float x, float y) = ImGui_PointConvertNative(ImGui_Context ctx, float x, float y, bool to_native = false)

Convert a position from the current platform's native coordinate position system to ReaImGui global coordinates (or vice versa).

This effectively flips the Y coordinate on macOS and applies HiDPI scaling on Windows and Linux.

View source

Function: ProgressBar
C++void ImGui::ProgressBar(ImGui_Context* ctx, double fraction, double* size_arg_wInOptional = -FLT_MIN, double* size_arg_hInOptional = 0.0, const char* overlayInOptional = nullptr)
EELImGui_ProgressBar(ImGui_Context ctx, fraction, size_arg_w = -FLT_MIN, size_arg_h = 0.0, "overlay" = 0)
Legacy EELextension_api("ImGui_ProgressBar", ImGui_Context ctx, fraction, size_arg_w = -FLT_MIN, size_arg_h = 0.0, "overlay" = 0)
Luareaper.ImGui_ProgressBar(ImGui_Context ctx, number fraction, number size_arg_w = -FLT_MIN, number size_arg_h = 0.0, string overlay = nil)
PythonImGui_ProgressBar(ImGui_Context ctx, float fraction, float size_arg_w = -FLT_MIN, float size_arg_h = 0.0, str overlay = None)

View source

Function: ValidatePtr
C++bool ImGui::ValidatePtr(void* pointer, const char* type)
EELbool ImGui_ValidatePtr(void pointer, "type")
Legacy EELbool extension_api("ImGui_ValidatePtr", void pointer, "type")
Luaboolean retval = reaper.ImGui_ValidatePtr(void pointer, string type)
Pythonbool retval = ImGui_ValidatePtr(void pointer, str type)

Return whether the pointer of the specified type is valid.

Supported types are:

View source

Clipboard

Function: GetClipboardText
C++const char* ImGui::GetClipboardText(ImGui_Context* ctx)
EELconst char* ImGui_GetClipboardText(ImGui_Context ctx)
Legacy EELconst char* extension_api("ImGui_GetClipboardText", ImGui_Context ctx)
Luastring retval = reaper.ImGui_GetClipboardText(ImGui_Context ctx)
Pythonstr retval = ImGui_GetClipboardText(ImGui_Context ctx)

View source

Function: SetClipboardText
C++void ImGui::SetClipboardText(ImGui_Context* ctx, const char* text)
EELImGui_SetClipboardText(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_SetClipboardText", ImGui_Context ctx, "text")
Luareaper.ImGui_SetClipboardText(ImGui_Context ctx, string text)
PythonImGui_SetClipboardText(ImGui_Context ctx, str text)

See also the LogToClipboard function to capture GUI into clipboard, or easily output text data to the clipboard.

View source

Color Conversion

Function: ColorConvertDouble4ToU32
C++int ImGui::ColorConvertDouble4ToU32(double r, double g, double b, double a)
EELint ImGui_ColorConvertDouble4ToU32(r, g, b, a)
Legacy EELint extension_api("ImGui_ColorConvertDouble4ToU32", r, g, b, a)
Luanumber retval = reaper.ImGui_ColorConvertDouble4ToU32(number r, number g, number b, number a)
Pythonint retval = ImGui_ColorConvertDouble4ToU32(float r, float g, float b, float a)

Pack 0..1 RGBA values into a 32-bit integer (0xRRGGBBAA).

View source

Function: ColorConvertHSVtoRGB
C++void ImGui::ColorConvertHSVtoRGB(double h, double s, double v, double* rOut, double* gOut, double* bOut)
EELImGui_ColorConvertHSVtoRGB(h, s, v, &r, &g, &b)
Legacy EELextension_api("ImGui_ColorConvertHSVtoRGB", h, s, v, &r, &g, &b)
Luanumber r, number g, number b = reaper.ImGui_ColorConvertHSVtoRGB(number h, number s, number v)
Python(float r, float g, float b) = ImGui_ColorConvertHSVtoRGB(float h, float s, float v)

Convert HSV values (0..1) into RGB (0..1).

View source

Function: ColorConvertNative
C++int ImGui::ColorConvertNative(int rgb)
EELint ImGui_ColorConvertNative(int rgb)
Legacy EELint extension_api("ImGui_ColorConvertNative", int rgb)
Luanumber retval = reaper.ImGui_ColorConvertNative(number rgb)
Pythonint retval = ImGui_ColorConvertNative(int rgb)

Convert a native color coming from REAPER or 0xRRGGBB to native. This swaps the red and blue channels on Windows.

View source

Function: ColorConvertRGBtoHSV
C++void ImGui::ColorConvertRGBtoHSV(double r, double g, double b, double* hOut, double* sOut, double* vOut)
EELImGui_ColorConvertRGBtoHSV(r, g, b, &h, &s, &v)
Legacy EELextension_api("ImGui_ColorConvertRGBtoHSV", r, g, b, &h, &s, &v)
Luanumber h, number s, number v = reaper.ImGui_ColorConvertRGBtoHSV(number r, number g, number b)
Python(float h, float s, float v) = ImGui_ColorConvertRGBtoHSV(float r, float g, float b)

Convert RGB values (0..1) into HSV (0..1).

View source

Function: ColorConvertU32ToDouble4
C++void ImGui::ColorConvertU32ToDouble4(int rgba, double* rOut, double* gOut, double* bOut, double* aOut)
EELImGui_ColorConvertU32ToDouble4(int rgba, &r, &g, &b, &a)
Legacy EELextension_api("ImGui_ColorConvertU32ToDouble4", int rgba, &r, &g, &b, &a)
Luanumber r, number g, number b, number a = reaper.ImGui_ColorConvertU32ToDouble4(number rgba)
Python(float r, float g, float b, float a) = ImGui_ColorConvertU32ToDouble4(int rgba)

Unpack a 32-bit integer (0xRRGGBBAA) into separate RGBA values (0..1).

View source

Conditions

Used for many SetNextWindow*() and SetWindow*() functions.

Constant: Cond_Always
C++int ImGui::Cond_Always
EELint ImGui_Cond_Always()
Legacy EELint extension_api("ImGui_Cond_Always")
Luanumber retval = reaper.ImGui_Cond_Always()
Pythonint retval = ImGui_Cond_Always()

No condition (always set the variable).

View source

Constant: Cond_Appearing
C++int ImGui::Cond_Appearing
EELint ImGui_Cond_Appearing()
Legacy EELint extension_api("ImGui_Cond_Appearing")
Luanumber retval = reaper.ImGui_Cond_Appearing()
Pythonint retval = ImGui_Cond_Appearing()

Set the variable if the object/window is appearing after being hidden/inactive (or the first time).

View source

Constant: Cond_FirstUseEver
C++int ImGui::Cond_FirstUseEver
EELint ImGui_Cond_FirstUseEver()
Legacy EELint extension_api("ImGui_Cond_FirstUseEver")
Luanumber retval = reaper.ImGui_Cond_FirstUseEver()
Pythonint retval = ImGui_Cond_FirstUseEver()

Set the variable if the object/window has no persistently saved data (no entry in .ini file).

View source

Constant: Cond_Once
C++int ImGui::Cond_Once
EELint ImGui_Cond_Once()
Legacy EELint extension_api("ImGui_Cond_Once")
Luanumber retval = reaper.ImGui_Cond_Once()
Pythonint retval = ImGui_Cond_Once()

Set the variable once per runtime session (only the first call will succeed).

View source

ID stack/scope

Read the FAQ for more details about how IDs are handled in dear imgui.

Function: PopID
C++void ImGui::PopID(ImGui_Context* ctx)
EELImGui_PopID(ImGui_Context ctx)
Legacy EELextension_api("ImGui_PopID", ImGui_Context ctx)
Luareaper.ImGui_PopID(ImGui_Context ctx)
PythonImGui_PopID(ImGui_Context ctx)

Pop from the ID stack.

View source

Function: PushID
C++void ImGui::PushID(ImGui_Context* ctx, const char* str_id)
EELImGui_PushID(ImGui_Context ctx, "str_id")
Legacy EELextension_api("ImGui_PushID", ImGui_Context ctx, "str_id")
Luareaper.ImGui_PushID(ImGui_Context ctx, string str_id)
PythonImGui_PushID(ImGui_Context ctx, str str_id)

Push string into the ID stack.

View source

Logging/Capture

All text output from the interface can be captured into tty/file/clipboard. By default, tree nodes are automatically opened during logging.

Function: LogFinish
C++void ImGui::LogFinish(ImGui_Context* ctx)
EELImGui_LogFinish(ImGui_Context ctx)
Legacy EELextension_api("ImGui_LogFinish", ImGui_Context ctx)
Luareaper.ImGui_LogFinish(ImGui_Context ctx)
PythonImGui_LogFinish(ImGui_Context ctx)

Stop logging (close file, etc.)

View source

Function: LogText
C++void ImGui::LogText(ImGui_Context* ctx, const char* text)
EELImGui_LogText(ImGui_Context ctx, "text")
Legacy EELextension_api("ImGui_LogText", ImGui_Context ctx, "text")
Luareaper.ImGui_LogText(ImGui_Context ctx, string text)
PythonImGui_LogText(ImGui_Context ctx, str text)

Pass text data straight to log (without being displayed)

View source

Function: LogToClipboard
C++void ImGui::LogToClipboard(ImGui_Context* ctx, int* auto_open_depthInOptional = -1)
EELImGui_LogToClipboard(ImGui_Context ctx, int auto_open_depth = -1)
Legacy EELextension_api("ImGui_LogToClipboard", ImGui_Context ctx, int auto_open_depth = -1)
Luareaper.ImGui_LogToClipboard(ImGui_Context ctx, number auto_open_depth = -1)
PythonImGui_LogToClipboard(ImGui_Context ctx, int auto_open_depth = -1)

Start logging all text output from the interface to the OS clipboard. See also SetClipboardText.

View source

Function: LogToFile
C++void ImGui::LogToFile(ImGui_Context* ctx, int* auto_open_depthInOptional = -1, const char* filenameInOptional = nullptr)
EELImGui_LogToFile(ImGui_Context ctx, int auto_open_depth = -1, "filename" = 0)
Legacy EELextension_api("ImGui_LogToFile", ImGui_Context ctx, int auto_open_depth = -1, "filename" = 0)
Luareaper.ImGui_LogToFile(ImGui_Context ctx, number auto_open_depth = -1, string filename = nil)
PythonImGui_LogToFile(ImGui_Context ctx, int auto_open_depth = -1, str filename = None)

Start logging all text output from the interface to a file. The data is saved to $resource_path/imgui_log.txt if filename is nil.

View source

Function: LogToTTY
C++void ImGui::LogToTTY(ImGui_Context* ctx, int* auto_open_depthInOptional = -1)
EELImGui_LogToTTY(ImGui_Context ctx, int auto_open_depth = -1)
Legacy EELextension_api("ImGui_LogToTTY", ImGui_Context ctx, int auto_open_depth = -1)
Luareaper.ImGui_LogToTTY(ImGui_Context ctx, number auto_open_depth = -1)
PythonImGui_LogToTTY(ImGui_Context ctx, int auto_open_depth = -1)

Start logging all text output from the interface to the TTY (stdout).

View source


Viewport

Function: GetMainViewport
C++ImGui_Viewport* ImGui::GetMainViewport(ImGui_Context* ctx)
EELImGui_Viewport* ImGui_GetMainViewport(ImGui_Context ctx)
Legacy EELImGui_Viewport* extension_api("ImGui_GetMainViewport", ImGui_Context ctx)
LuaImGui_Viewport retval = reaper.ImGui_GetMainViewport(ImGui_Context ctx)
PythonImGui_Viewport retval = ImGui_GetMainViewport(ImGui_Context ctx)

Currently represents REAPER's main window (arrange view). WARNING: This may change or be removed in the future.

View source

Function: GetWindowViewport
C++ImGui_Viewport* ImGui::GetWindowViewport(ImGui_Context* ctx)
EELImGui_Viewport* ImGui_GetWindowViewport(ImGui_Context ctx)
Legacy EELImGui_Viewport* extension_api("ImGui_GetWindowViewport", ImGui_Context ctx)
LuaImGui_Viewport retval = reaper.ImGui_GetWindowViewport(ImGui_Context ctx)
PythonImGui_Viewport retval = ImGui_GetWindowViewport(ImGui_Context ctx)

Get viewport currently associated to the current window.

View source

Function: Viewport_GetCenter
C++void ImGui::Viewport_GetCenter(ImGui_Viewport* viewport, double* xOut, double* yOut)
EELImGui_Viewport_GetCenter(ImGui_Viewport viewport, &x, &y)
Legacy EELextension_api("ImGui_Viewport_GetCenter", ImGui_Viewport viewport, &x, &y)
Luanumber x, number y = reaper.ImGui_Viewport_GetCenter(ImGui_Viewport viewport)
Python(float x, float y) = ImGui_Viewport_GetCenter(ImGui_Viewport viewport)

Center of the viewport.

View source

Function: Viewport_GetPos
C++void ImGui::Viewport_GetPos(ImGui_Viewport* viewport, double* xOut, double* yOut)
EELImGui_Viewport_GetPos(ImGui_Viewport viewport, &x, &y)
Legacy EELextension_api("ImGui_Viewport_GetPos", ImGui_Viewport viewport, &x, &y)
Luanumber x, number y = reaper.ImGui_Viewport_GetPos(ImGui_Viewport viewport)
Python(float x, float y) = ImGui_Viewport_GetPos(ImGui_Viewport viewport)

Main Area: Position of the viewport

View source

Function: Viewport_GetSize
C++void ImGui::Viewport_GetSize(ImGui_Viewport* viewport, double* wOut, double* hOut)
EELImGui_Viewport_GetSize(ImGui_Viewport viewport, &w, &h)
Legacy EELextension_api("ImGui_Viewport_GetSize", ImGui_Viewport viewport, &w, &h)
Luanumber w, number h = reaper.ImGui_Viewport_GetSize(ImGui_Viewport viewport)
Python(float w, float h) = ImGui_Viewport_GetSize(ImGui_Viewport viewport)

Main Area: Size of the viewport.

View source

Work Area

Viewport minus task bars, menu bars, status bars

Function: Viewport_GetWorkCenter
C++void ImGui::Viewport_GetWorkCenter(ImGui_Viewport* viewport, double* xOut, double* yOut)
EELImGui_Viewport_GetWorkCenter(ImGui_Viewport viewport, &x, &y)
Legacy EELextension_api("ImGui_Viewport_GetWorkCenter", ImGui_Viewport viewport, &x, &y)
Luanumber x, number y = reaper.ImGui_Viewport_GetWorkCenter(ImGui_Viewport viewport)
Python(float x, float y) = ImGui_Viewport_GetWorkCenter(ImGui_Viewport viewport)

Center of the viewport's work area.

View source

Function: Viewport_GetWorkPos
C++void ImGui::Viewport_GetWorkPos(ImGui_Viewport* viewport, double* xOut, double* yOut)
EELImGui_Viewport_GetWorkPos(ImGui_Viewport viewport, &x, &y)
Legacy EELextension_api("ImGui_Viewport_GetWorkPos", ImGui_Viewport viewport, &x, &y)
Luanumber x, number y = reaper.ImGui_Viewport_GetWorkPos(ImGui_Viewport viewport)
Python(float x, float y) = ImGui_Viewport_GetWorkPos(ImGui_Viewport viewport)

= Viewport_GetPos

View source

Function: Viewport_GetWorkSize
C++void ImGui::Viewport_GetWorkSize(ImGui_Viewport* viewport, double* wOut, double* hOut)
EELImGui_Viewport_GetWorkSize(ImGui_Viewport viewport, &w, &h)
Legacy EELextension_api("ImGui_Viewport_GetWorkSize", ImGui_Viewport viewport, &w, &h)
Luanumber w, number h = reaper.ImGui_Viewport_GetWorkSize(ImGui_Viewport viewport)
Python(float w, float h) = ImGui_Viewport_GetWorkSize(ImGui_Viewport viewport)

<= Viewport_GetSize

View source


Window

Functions for creating and manipulating windows. Note that the bottom of the window stack always contains a window called "Debug".

Function: Begin
C++bool ImGui::Begin(ImGui_Context* ctx, const char* name, bool* p_openInOutOptional = nullptr, int* flagsInOptional = WindowFlags_None)
EELbool ImGui_Begin(ImGui_Context ctx, "name", bool &p_open = 0, int flags = WindowFlags_None)
Legacy EELbool extension_api("ImGui_Begin", ImGui_Context ctx, "name", bool &p_open = 0, int flags = WindowFlags_None)
Luaboolean retval, boolean p_open = reaper.ImGui_Begin(ImGui_Context ctx, string name, boolean p_open = nil, number flags = WindowFlags_None)
Python(bool retval, bool p_open) = ImGui_Begin(ImGui_Context ctx, str name, bool p_open = None, int flags = WindowFlags_None)

Push window to the stack and start appending to it.

View source

Function: End
C++void ImGui::End(ImGui_Context* ctx)
EELImGui_End(ImGui_Context ctx)
Legacy EELextension_api("ImGui_End", ImGui_Context ctx)
Luareaper.ImGui_End(ImGui_Context ctx)
PythonImGui_End(ImGui_Context ctx)

Pop window from the stack. See Begin.

View source

Child Windows

Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child.

Function: BeginChild
C++bool ImGui::BeginChild(ImGui_Context* ctx, const char* str_id, double* size_wInOptional = 0.0, double* size_hInOptional = 0.0, bool* borderInOptional = false, int* flagsInOptional = WindowFlags_None)
EELbool ImGui_BeginChild(ImGui_Context ctx, "str_id", size_w = 0.0, size_h = 0.0, bool border = false, int flags = WindowFlags_None)
Legacy EELbool extension_api("ImGui_BeginChild", ImGui_Context ctx, "str_id", size_w = 0.0, size_h = 0.0, bool border = false, int flags = WindowFlags_None)
Luaboolean retval = reaper.ImGui_BeginChild(ImGui_Context ctx, string str_id, number size_w = 0.0, number size_h = 0.0, boolean border = false, number flags = WindowFlags_None)
Pythonbool retval = ImGui_BeginChild(ImGui_Context ctx, str str_id, float size_w = 0.0, float size_h = 0.0, bool border = false, int flags = WindowFlags_None)

For each independent axis of 'size':

Returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.

View source

Function: BeginChildFrame
C++bool ImGui::BeginChildFrame(ImGui_Context* ctx, const char* str_id, double size_w, double size_h, int* flagsInOptional = WindowFlags_None)
EELbool ImGui_BeginChildFrame(ImGui_Context ctx, "str_id", size_w, size_h, int flags = WindowFlags_None)
Legacy EELbool extension_api("ImGui_BeginChildFrame", ImGui_Context ctx, "str_id", size_w, size_h, int flags = WindowFlags_None)
Luaboolean retval = reaper.ImGui_BeginChildFrame(ImGui_Context ctx, string str_id, number size_w, number size_h, number flags = WindowFlags_None)
Pythonbool retval = ImGui_BeginChildFrame(ImGui_Context ctx, str str_id, float size_w, float size_h, int flags = WindowFlags_None)

Helper to create a child window / scrolling region that looks like a normal widget frame. See BeginChild.

View source

Function: EndChild
C++void ImGui::EndChild(ImGui_Context* ctx)
EELImGui_EndChild(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndChild", ImGui_Context ctx)
Luareaper.ImGui_EndChild(ImGui_Context ctx)
PythonImGui_EndChild(ImGui_Context ctx)

See BeginChild.

View source

Function: EndChildFrame
C++void ImGui::EndChildFrame(ImGui_Context* ctx)
EELImGui_EndChildFrame(ImGui_Context ctx)
Legacy EELextension_api("ImGui_EndChildFrame", ImGui_Context ctx)
Luareaper.ImGui_EndChildFrame(ImGui_Context ctx)
PythonImGui_EndChildFrame(ImGui_Context ctx)

See BeginChildFrame.

View source

Content Region

Retrieve available space from a given point. GetContentRegionAvail() is frequently useful.

Function: GetContentRegionAvail
C++void ImGui::GetContentRegionAvail(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetContentRegionAvail(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetContentRegionAvail", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetContentRegionAvail(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetContentRegionAvail(ImGui_Context ctx)

== GetContentRegionMax() - GetCursorPos()

View source

Function: GetContentRegionMax
C++void ImGui::GetContentRegionMax(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetContentRegionMax(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetContentRegionMax", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetContentRegionMax(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetContentRegionMax(ImGui_Context ctx)

Current content boundaries (typically window boundaries including scrolling, or current column boundaries), in windows coordinates.

View source

Function: GetWindowContentRegionMax
C++void ImGui::GetWindowContentRegionMax(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetWindowContentRegionMax(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetWindowContentRegionMax", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetWindowContentRegionMax(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetWindowContentRegionMax(ImGui_Context ctx)

Content boundaries max (roughly (0,0)+Size-Scroll) where Size can be overridden with SetNextWindowContentSize, in window coordinates.

View source

Function: GetWindowContentRegionMin
C++void ImGui::GetWindowContentRegionMin(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetWindowContentRegionMin(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetWindowContentRegionMin", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetWindowContentRegionMin(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetWindowContentRegionMin(ImGui_Context ctx)

Content boundaries min (roughly (0,0)-Scroll), in window coordinates.

View source

Debug Windows

Function: ShowAboutWindow
C++void ImGui::ShowAboutWindow(ImGui_Context* ctx, bool* p_openInOutOptional = nullptr)
EELImGui_ShowAboutWindow(ImGui_Context ctx, bool &p_open = 0)
Legacy EELextension_api("ImGui_ShowAboutWindow", ImGui_Context ctx, bool &p_open = 0)
Luaboolean p_open = reaper.ImGui_ShowAboutWindow(ImGui_Context ctx, boolean p_open = nil)
Python(bool p_open) = ImGui_ShowAboutWindow(ImGui_Context ctx, bool p_open = None)

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

View source

Function: ShowDebugLogWindow
C++void ImGui::ShowDebugLogWindow(ImGui_Context* ctx, bool* p_openInOutOptional = nullptr)
EELImGui_ShowDebugLogWindow(ImGui_Context ctx, bool &p_open = 0)
Legacy EELextension_api("ImGui_ShowDebugLogWindow", ImGui_Context ctx, bool &p_open = 0)
Luaboolean p_open = reaper.ImGui_ShowDebugLogWindow(ImGui_Context ctx, boolean p_open = nil)
Python(bool p_open) = ImGui_ShowDebugLogWindow(ImGui_Context ctx, bool p_open = None)

Create Debug Log window. display a simplified log of important dear imgui events.

View source

Function: ShowMetricsWindow
C++void ImGui::ShowMetricsWindow(ImGui_Context* ctx, bool* p_openInOutOptional = nullptr)
EELImGui_ShowMetricsWindow(ImGui_Context ctx, bool &p_open = 0)
Legacy EELextension_api("ImGui_ShowMetricsWindow", ImGui_Context ctx, bool &p_open = 0)
Luaboolean p_open = reaper.ImGui_ShowMetricsWindow(ImGui_Context ctx, boolean p_open = nil)
Python(bool p_open) = ImGui_ShowMetricsWindow(ImGui_Context ctx, bool p_open = None)

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

View source

Function: ShowStackToolWindow
C++void ImGui::ShowStackToolWindow(ImGui_Context* ctx, bool* p_openInOutOptional = nullptr)
EELImGui_ShowStackToolWindow(ImGui_Context ctx, bool &p_open = 0)
Legacy EELextension_api("ImGui_ShowStackToolWindow", ImGui_Context ctx, bool &p_open = 0)
Luaboolean p_open = reaper.ImGui_ShowStackToolWindow(ImGui_Context ctx, boolean p_open = nil)
Python(bool p_open) = ImGui_ShowStackToolWindow(ImGui_Context ctx, bool p_open = None)

Create Stack Tool window. Hover items with mouse to query information about the source of their unique ID.

View source

Docking

Dock windows into other windows or in REAPER dockers.

Dock IDs are:

Drag from window title bar or their tab to dock/undock. Hold SHIFT to disable docking/undocking. Drag from window menu button (upper-left button) to undock an entire node (all windows). DockingWithShift == true, you instead need to hold SHIFT to enable docking/undocking.

Function: GetWindowDockID
C++int ImGui::GetWindowDockID(ImGui_Context* ctx)
EELint ImGui_GetWindowDockID(ImGui_Context ctx)
Legacy EELint extension_api("ImGui_GetWindowDockID", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetWindowDockID(ImGui_Context ctx)
Pythonint retval = ImGui_GetWindowDockID(ImGui_Context ctx)

View source

Function: IsWindowDocked
C++bool ImGui::IsWindowDocked(ImGui_Context* ctx)
EELbool ImGui_IsWindowDocked(ImGui_Context ctx)
Legacy EELbool extension_api("ImGui_IsWindowDocked", ImGui_Context ctx)
Luaboolean retval = reaper.ImGui_IsWindowDocked(ImGui_Context ctx)
Pythonbool retval = ImGui_IsWindowDocked(ImGui_Context ctx)

Is current window docked into another window or a REAPER docker?

View source

Function: SetNextWindowDockID
C++void ImGui::SetNextWindowDockID(ImGui_Context* ctx, int dock_id, int* condInOptional = Cond_Always)
EELImGui_SetNextWindowDockID(ImGui_Context ctx, int dock_id, int cond = Cond_Always)
Legacy EELextension_api("ImGui_SetNextWindowDockID", ImGui_Context ctx, int dock_id, int cond = Cond_Always)
Luareaper.ImGui_SetNextWindowDockID(ImGui_Context ctx, number dock_id, number cond = Cond_Always)
PythonImGui_SetNextWindowDockID(ImGui_Context ctx, int dock_id, int cond = Cond_Always)

View source

Flags

For Begin and BeginChild.

(Those are per-window flags. There are shared flags in SetConfigVar: ConfigVar_WindowsResizeFromEdges and ConfigVar_WindowsMoveFromTitleBarOnly)

Constant: WindowFlags_AlwaysAutoResize
C++int ImGui::WindowFlags_AlwaysAutoResize
EELint ImGui_WindowFlags_AlwaysAutoResize()
Legacy EELint extension_api("ImGui_WindowFlags_AlwaysAutoResize")
Luanumber retval = reaper.ImGui_WindowFlags_AlwaysAutoResize()
Pythonint retval = ImGui_WindowFlags_AlwaysAutoResize()

Resize every window to its content every frame.

View source

Constant: WindowFlags_AlwaysHorizontalScrollbar
C++int ImGui::WindowFlags_AlwaysHorizontalScrollbar
EELint ImGui_WindowFlags_AlwaysHorizontalScrollbar()
Legacy EELint extension_api("ImGui_WindowFlags_AlwaysHorizontalScrollbar")
Luanumber retval = reaper.ImGui_WindowFlags_AlwaysHorizontalScrollbar()
Pythonint retval = ImGui_WindowFlags_AlwaysHorizontalScrollbar()

Always show horizontal scrollbar (even if ContentSize.x < Size.x).

View source

Constant: WindowFlags_AlwaysUseWindowPadding
C++int ImGui::WindowFlags_AlwaysUseWindowPadding
EELint ImGui_WindowFlags_AlwaysUseWindowPadding()
Legacy EELint extension_api("ImGui_WindowFlags_AlwaysUseWindowPadding")
Luanumber retval = reaper.ImGui_WindowFlags_AlwaysUseWindowPadding()
Pythonint retval = ImGui_WindowFlags_AlwaysUseWindowPadding()

Ensure child windows without border uses StyleVar_WindowPadding (ignored by default for non-bordered child windows, because more convenient).

View source

Constant: WindowFlags_AlwaysVerticalScrollbar
C++int ImGui::WindowFlags_AlwaysVerticalScrollbar
EELint ImGui_WindowFlags_AlwaysVerticalScrollbar()
Legacy EELint extension_api("ImGui_WindowFlags_AlwaysVerticalScrollbar")
Luanumber retval = reaper.ImGui_WindowFlags_AlwaysVerticalScrollbar()
Pythonint retval = ImGui_WindowFlags_AlwaysVerticalScrollbar()

Always show vertical scrollbar (even if ContentSize.y < Size.y).

View source

Constant: WindowFlags_HorizontalScrollbar
C++int ImGui::WindowFlags_HorizontalScrollbar
EELint ImGui_WindowFlags_HorizontalScrollbar()
Legacy EELint extension_api("ImGui_WindowFlags_HorizontalScrollbar")
Luanumber retval = reaper.ImGui_WindowFlags_HorizontalScrollbar()
Pythonint retval = ImGui_WindowFlags_HorizontalScrollbar()

Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(width, 0.0) prior to calling Begin() to specify width. Read code in the demo's "Horizontal Scrolling" section.

View source

Constant: WindowFlags_MenuBar
C++int ImGui::WindowFlags_MenuBar
EELint ImGui_WindowFlags_MenuBar()
Legacy EELint extension_api("ImGui_WindowFlags_MenuBar")
Luanumber retval = reaper.ImGui_WindowFlags_MenuBar()
Pythonint retval = ImGui_WindowFlags_MenuBar()

Has a menu-bar.

View source

Constant: WindowFlags_NoBackground
C++int ImGui::WindowFlags_NoBackground
EELint ImGui_WindowFlags_NoBackground()
Legacy EELint extension_api("ImGui_WindowFlags_NoBackground")
Luanumber retval = reaper.ImGui_WindowFlags_NoBackground()
Pythonint retval = ImGui_WindowFlags_NoBackground()

Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0).

View source

Constant: WindowFlags_NoCollapse
C++int ImGui::WindowFlags_NoCollapse
EELint ImGui_WindowFlags_NoCollapse()
Legacy EELint extension_api("ImGui_WindowFlags_NoCollapse")
Luanumber retval = reaper.ImGui_WindowFlags_NoCollapse()
Pythonint retval = ImGui_WindowFlags_NoCollapse()

Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).

View source

Constant: WindowFlags_NoDecoration
C++int ImGui::WindowFlags_NoDecoration
EELint ImGui_WindowFlags_NoDecoration()
Legacy EELint extension_api("ImGui_WindowFlags_NoDecoration")
Luanumber retval = reaper.ImGui_WindowFlags_NoDecoration()
Pythonint retval = ImGui_WindowFlags_NoDecoration()

WindowFlags_NoTitleBar | WindowFlags_NoResize | WindowFlags_NoScrollbar | WindowFlags_NoCollapse

View source

Constant: WindowFlags_NoDocking
C++int ImGui::WindowFlags_NoDocking
EELint ImGui_WindowFlags_NoDocking()
Legacy EELint extension_api("ImGui_WindowFlags_NoDocking")
Luanumber retval = reaper.ImGui_WindowFlags_NoDocking()
Pythonint retval = ImGui_WindowFlags_NoDocking()

Disable docking of this window.

View source

Constant: WindowFlags_NoFocusOnAppearing
C++int ImGui::WindowFlags_NoFocusOnAppearing
EELint ImGui_WindowFlags_NoFocusOnAppearing()
Legacy EELint extension_api("ImGui_WindowFlags_NoFocusOnAppearing")
Luanumber retval = reaper.ImGui_WindowFlags_NoFocusOnAppearing()
Pythonint retval = ImGui_WindowFlags_NoFocusOnAppearing()

Disable taking focus when transitioning from hidden to visible state.

View source

Constant: WindowFlags_NoInputs
C++int ImGui::WindowFlags_NoInputs
EELint ImGui_WindowFlags_NoInputs()
Legacy EELint extension_api("ImGui_WindowFlags_NoInputs")
Luanumber retval = reaper.ImGui_WindowFlags_NoInputs()
Pythonint retval = ImGui_WindowFlags_NoInputs()

WindowFlags_NoMouseInputs | WindowFlags_NoNavInputs | WindowFlags_NoNavFocus

View source

Constant: WindowFlags_NoMouseInputs
C++int ImGui::WindowFlags_NoMouseInputs
EELint ImGui_WindowFlags_NoMouseInputs()
Legacy EELint extension_api("ImGui_WindowFlags_NoMouseInputs")
Luanumber retval = reaper.ImGui_WindowFlags_NoMouseInputs()
Pythonint retval = ImGui_WindowFlags_NoMouseInputs()

Disable catching mouse, hovering test with pass through.

View source

Constant: WindowFlags_NoMove
C++int ImGui::WindowFlags_NoMove
EELint ImGui_WindowFlags_NoMove()
Legacy EELint extension_api("ImGui_WindowFlags_NoMove")
Luanumber retval = reaper.ImGui_WindowFlags_NoMove()
Pythonint retval = ImGui_WindowFlags_NoMove()

Disable user moving the window.

View source

Constant: WindowFlags_NoNav
C++int ImGui::WindowFlags_NoNav
EELint ImGui_WindowFlags_NoNav()
Legacy EELint extension_api("ImGui_WindowFlags_NoNav")
Luanumber retval = reaper.ImGui_WindowFlags_NoNav()
Pythonint retval = ImGui_WindowFlags_NoNav()

WindowFlags_NoNavInputs | WindowFlags_NoNavFocus

View source

Constant: WindowFlags_NoNavFocus
C++int ImGui::WindowFlags_NoNavFocus
EELint ImGui_WindowFlags_NoNavFocus()
Legacy EELint extension_api("ImGui_WindowFlags_NoNavFocus")
Luanumber retval = reaper.ImGui_WindowFlags_NoNavFocus()
Pythonint retval = ImGui_WindowFlags_NoNavFocus()

No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB).

View source

Constant: WindowFlags_NoNavInputs
C++int ImGui::WindowFlags_NoNavInputs
EELint ImGui_WindowFlags_NoNavInputs()
Legacy EELint extension_api("ImGui_WindowFlags_NoNavInputs")
Luanumber retval = reaper.ImGui_WindowFlags_NoNavInputs()
Pythonint retval = ImGui_WindowFlags_NoNavInputs()

No gamepad/keyboard navigation within the window.

View source

Constant: WindowFlags_NoResize
C++int ImGui::WindowFlags_NoResize
EELint ImGui_WindowFlags_NoResize()
Legacy EELint extension_api("ImGui_WindowFlags_NoResize")
Luanumber retval = reaper.ImGui_WindowFlags_NoResize()
Pythonint retval = ImGui_WindowFlags_NoResize()

Disable user resizing with the lower-right grip.

View source

Constant: WindowFlags_NoSavedSettings
C++int ImGui::WindowFlags_NoSavedSettings
EELint ImGui_WindowFlags_NoSavedSettings()
Legacy EELint extension_api("ImGui_WindowFlags_NoSavedSettings")
Luanumber retval = reaper.ImGui_WindowFlags_NoSavedSettings()
Pythonint retval = ImGui_WindowFlags_NoSavedSettings()

Never load/save settings in .ini file.

View source

Constant: WindowFlags_NoScrollWithMouse
C++int ImGui::WindowFlags_NoScrollWithMouse
EELint ImGui_WindowFlags_NoScrollWithMouse()
Legacy EELint extension_api("ImGui_WindowFlags_NoScrollWithMouse")
Luanumber retval = reaper.ImGui_WindowFlags_NoScrollWithMouse()
Pythonint retval = ImGui_WindowFlags_NoScrollWithMouse()

Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.

View source

Constant: WindowFlags_NoScrollbar
C++int ImGui::WindowFlags_NoScrollbar
EELint ImGui_WindowFlags_NoScrollbar()
Legacy EELint extension_api("ImGui_WindowFlags_NoScrollbar")
Luanumber retval = reaper.ImGui_WindowFlags_NoScrollbar()
Pythonint retval = ImGui_WindowFlags_NoScrollbar()

Disable scrollbars (window can still scroll with mouse or programmatically).

View source

Constant: WindowFlags_NoTitleBar
C++int ImGui::WindowFlags_NoTitleBar
EELint ImGui_WindowFlags_NoTitleBar()
Legacy EELint extension_api("ImGui_WindowFlags_NoTitleBar")
Luanumber retval = reaper.ImGui_WindowFlags_NoTitleBar()
Pythonint retval = ImGui_WindowFlags_NoTitleBar()

Disable title-bar.

View source

Constant: WindowFlags_None
C++int ImGui::WindowFlags_None
EELint ImGui_WindowFlags_None()
Legacy EELint extension_api("ImGui_WindowFlags_None")
Luanumber retval = reaper.ImGui_WindowFlags_None()
Pythonint retval = ImGui_WindowFlags_None()

Default flag.

View source

Constant: WindowFlags_TopMost
C++int ImGui::WindowFlags_TopMost
EELint ImGui_WindowFlags_TopMost()
Legacy EELint extension_api("ImGui_WindowFlags_TopMost")
Luanumber retval = reaper.ImGui_WindowFlags_TopMost()
Pythonint retval = ImGui_WindowFlags_TopMost()

Show the window above all non-topmost windows.

View source

Constant: WindowFlags_UnsavedDocument
C++int ImGui::WindowFlags_UnsavedDocument
EELint ImGui_WindowFlags_UnsavedDocument()
Legacy EELint extension_api("ImGui_WindowFlags_UnsavedDocument")
Luanumber retval = reaper.ImGui_WindowFlags_UnsavedDocument()
Pythonint retval = ImGui_WindowFlags_UnsavedDocument()

Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.

View source

Properties

Prefer using SetNextWindow* functions (before Begin) rather that SetWindow* functions (after Begin).

'Current window' = the window we are appending into while inside a Begin()/End() block. 'Next window' = next window we will Begin() into.

Function: GetWindowDpiScale
C++double ImGui::GetWindowDpiScale(ImGui_Context* ctx)
EELdouble ImGui_GetWindowDpiScale(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetWindowDpiScale", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetWindowDpiScale(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetWindowDpiScale(ImGui_Context ctx)

Get DPI scale currently associated to the current window's viewport (1.0 = 96 DPI).

View source

Function: GetWindowHeight
C++double ImGui::GetWindowHeight(ImGui_Context* ctx)
EELdouble ImGui_GetWindowHeight(ImGui_Context ctx)
Legacy EELdouble extension_api("ImGui_GetWindowHeight", ImGui_Context ctx)
Luanumber retval = reaper.ImGui_GetWindowHeight(ImGui_Context ctx)
Pythonfloat retval = ImGui_GetWindowHeight(ImGui_Context ctx)

Get current window height (shortcut for (select(2, GetWindowSize())).

View source

Function: GetWindowPos
C++void ImGui::GetWindowPos(ImGui_Context* ctx, double* xOut, double* yOut)
EELImGui_GetWindowPos(ImGui_Context ctx, &x, &y)
Legacy EELextension_api("ImGui_GetWindowPos", ImGui_Context ctx, &x, &y)
Luanumber x, number y = reaper.ImGui_GetWindowPos(ImGui_Context ctx)
Python(float x, float y) = ImGui_GetWindowPos(ImGui_Context ctx)

Get current window position in screen space (useful if you want to do your own drawing via the DrawList API).

View source

Function: GetWindowSize
C++void ImGui::GetWindowSize(ImGui_Context* ctx, double* wOut, double* hOut)
EELImGui_GetWindowSize(ImGui_Context ctx, &w, &h)
Legacy EELextension_api("ImGui_GetWindowSize", ImGui_Context ctx, &w, &h)
Luanumber w, number h = reaper.ImGui_GetWindowSize(ImGui_Context ctx)
Python(float w,