Skip to content

Releases: cfillion/reaimgui

v0.8.2

05 Jan 12:42
v0.8.2
6162185
Compare
Choose a tag to compare
  • Add user settings for docking with Shift only, docking splitting and docking window transparency
  • Automatically open tabs for dropping windows when hovering REAPER dockers or main window sides
  • Disable mouse input when captured by a window belonging to a different context
  • Fix a crash when moving dockers with a single window on the left or top side of a split
  • Fix parameters with two characters names missing from the documentation
  • Make the settings page's help text behave more similarly to native pages
  • Re-enable drawing the background of empty dockers
  • Reuse the existing native window when dropping a window back into the same docker
  • Use the system theme text color in the error dialog
  • macOS: fix crash/corruption in the Metal renderer due to GPU buffers being incorrectly resized
  • Linux: compile libjpeg-turbo into the binary for compatibility with Fedora [p=2627734]
  • Linux: fix windows not gaining focus on first click since v0.8
  • Linux: replace window z-order heuristic with proper hit-testing
  • Windows: filter out \b\e\r\n\t from the character input queue
  • Windows: fix assertion failure in some HiDPI monitor configurations [p=2616056][p=2620880][p=2622681]
  • Windows: follow the "Use large (non-tool) window frames for windows" setting
  • Windows: temporarily disable usage under non-multimonitor aware HiDPI modes [p=2629558]
  • Windows: treat non-client window area as passthrough when hit-testing

imgui.lua:

  • Exceptionally add shims to restore pre-0.8 values for GetKeyMods
  • Extend 0.8's shims for window boundary extension to cover table cells

v0.8.1

28 Nov 23:59
v0.8.1
7cb9263
Compare
Choose a tag to compare
  • imgui.lua: add shims for dear imgui 1.89's obsoleted window boundary extension via SetCursorPos/SetCursorScreenPos (ocornut/imgui#5548)
  • macOS: fix the Metal renderer crashing (observed on macOS 12 ARM)

v0.8

27 Nov 17:46
v0.8
cc6087e
Compare
Choose a tag to compare
  • Add a user settings page in Preferences > Plug-ins > ReaImGui:
    • Option to disable restoration of saved settings ("safe mode")
    • Option to select which graphics renderer to use
  • Display indirect errors in a custom, more user-friendly dialog
  • Implement bitmap image loading (PNG and JPEG from a file or memory) and image sets (per-DPI variants)
  • macOS: add a Metal renderer (new default, requires El Capitan or newer)
  • Share GPU textures with all windows in the same context (except on Linux due to a GDK 3 limitation)
  • Update dear imgui to v1.89.1 (v1.89 release notes, v1.89.1)
  • Windows: add a Direct3D 10 renderer (new default)
  • Windows: disable minimizing and use the tool window style when decorations are enabled
  • Windows: support mouse input everywhere in windows straddling multiple monitors with mixed DPI scales

Documentation:

  • DRY-ify default argument values (code + doc using a single source of truth)
  • Hide the "ImGui_" prefix
  • More accurate line number ranges in links to source code
  • Reorganize all functions in hierarchical, individually documented sections
  • Rich-text formatting (Markdown <3)
  • Syntax highlighting of code samples (if client-side Javascript is enabled)

API changes:

  • Add {Attach,Detach} for linking the lifetime of any object with a context
  • Add ConfigFlags_NavNoCaptureKeyboard
  • Add ConfigVar_HoverDelay{Normal,Short} and ConfigVar_InputTextEnterKeepActive
  • Add GetFramerate
  • Add HoveredFlags_{Delay{Normal,Short},NoSharedDelay}
  • Add Image{,Button} and DrawList_AddImage{,Quad,Rounded}
  • Add InputTextFlags_EscapeClearsAll
  • Add Key_Mouse*
  • Add Mod_Shortcut (alias for _Ctrl on Linux & Windows and _Super, the Cmd key, on macOS)
  • Remove {Attach,Detach}Font (replaced by generic {Attach,Detach} functions)
  • Rename ModFlags_* and Key_Mod* to Mod_*

v0.7.2

17 Nov 13:08
v0.7.2
de8629c
Compare
Choose a tag to compare
  • Fix window under the window under mouse getting hovered for 1 frame on mouse release
  • macOS: fix crash when the context is destroyed while a window is docked
  • macOS: fix framebuffer size not updating when switching from another docker tab
  • macOS: fix non-initial windows not gaining focus on open
  • Windows: fix multiple DPI scaling issues

API changes:

  • Add GetWindowDpiScale

gfx2imgui:

  • Add GFX2IMGUI_NO_BLIT_PREMULTIPLY option [p=2609372]
  • Fix nearest font selection when sizes smaller than requested are loaded [p=2609372]
  • Keep alive fonts while they're actively being drawn from a blitted buffer [p=2609372]
  • Warn when substituting font for the default one

v0.7.1

26 Oct 00:22
v0.7.1
709d75c
Compare
Choose a tag to compare
  • Add a translation layer for running gfx scripts on ReaImGui (gfx2imgui.lua)
  • Enable SetNextWindowBgAlpha for all windows
  • Fix corrupted font texture in contexts having windows using different DPI scaling
  • Fix assertion failure after attaching fonts when more than one DPI scale is used
  • Fix potential crash on exit in REAPER < 6.67 due to plugin registration keys being invalidated [cfillion/reapack#56]
  • macOS: fix pressed keyboard keys getting stuck when opening modal dialogs
  • macOS: fix rescaling when moving windows to a monitor using a different DPI setting
  • macOS: fix windows not moving above the menu bar on macOS 12 [p=2579183]
  • macOS: gain keyboard focus when switching from another docker tab

API changes:

  • Add the DrawListSplitter API

v0.7

22 Jun 02:13
v0.7
378e1f3
Compare
Choose a tag to compare
  • Add backward-compatibility script imgui.lua
  • Fix broken mouse inputs after destroying a window while a mouse button is down
  • Implement window transparency (requires REAPER v6.55+ on Linux)
  • Increase maximum object allocation limit to 1000
  • Linux: harden v0.6's improved mouse and keyboard input (now requires REAPER v6.57+)
  • Optimize object pointer validation (about 2x faster)
  • Patch dear imgui to enable background alpha and corner rounding for top-level windows
  • Update dear imgui to v1.88 (release notes)

API changes:

  • Add ColorConvert{Double4ToU32,U32ToDouble4}
  • Add DebugTextEncoding
  • Add GetWindowViewport
  • Add HoveredFlags_NoNavOverride
  • Add ShowDebugLogWindow
  • Combo and ListBox: use null bytes for delimiting items as in vanilla dear imgui (now requires REAPER 6.44+ in Lua and EEL) [t=261079]
  • Distinguish between empty and nil optional strings in Lua on REAPER 6.58+ [t=266405]
  • Expose additional context settings via {Get,Set}ConfigVar
  • Nerf ColorConvert{RGBtoHSV,HSVtoRGB}'s packed integer return value and optional alpha argument [t=266396]
  • Python: unexpose output-only values from the argument list
  • Python: unexpose unsafe buffer size arguments
  • Rename CaptureKeyboardFromApp to SetNextFrameWantCaptureKeyboard
  • Rename KeyModFlags_* constants to ModFlags_*
  • Reorder GetVersion's return values and add IMGUI_VERSION_NUM
  • Replace {Get,Set}ConfigFlags with {Get,Set}ConfigVar(ConfigVar_Flags)

v0.6.2

10 May 17:06
v0.6.2
28a898c
Compare
Choose a tag to compare
  • Fix a crash when destroying list clippers while a different context is active
  • Fix empty points array crashing DrawList_Add{Polyline,ConvexPolyFilled}
  • Linux: restore broken key up/down events when an IME is active
  • macOS: allow OpenGL software renderering for wider compatibility
  • macOS: fix keyboard input when holding down a mouse button and the "Allow keyboard commands when mouse-editing" setting is disabled [p=2552296]
  • Windows: receive Alt key events when "Prevent ALT key from focusing main menu" is enabled

API changes:

  • DrawList_PathArcTo: fix incorrect default value for num_segments when omitted
  • Revert "Fix DrawList_AddTextEx not using the default bitmap font when font == nil" from v0.6

v0.6.1

31 Mar 00:59
v0.6.1
eb8e536
Compare
Choose a tag to compare
  • Export main demo functions to scripts including the demo file
  • Fix broken anti-aliasing after attaching a font
  • Fix the first frame of every window being rendered blank
  • Linux: fix a crash when quitting REAPER while docked ReaImGui windows are open
  • Linux: repair file drag and drop
  • Windows: prevent incorrect focus when closing windows out of order

v0.6.0

18 Mar 20:29
v0.6.0
ea180ad
Compare
Choose a tag to compare
  • Add support for mouse buttons 4 and 5 (3 and 4 in the API)
  • Distinguish between Left/Right modifier keys and Enter/KeypadEnter keys
  • Fix a crash when failing to initialize the OpenGL renderer for docked windows
  • Migrate mouse and keyboard input to v1.87's new event-based API
  • Reduce the minimum required version of OpenGL to 3.1
  • Suspend keyboard and mouse input when the defer timer is blocked (eg. modal dialog)
  • Update to Dear ImGui v1.87 (release notes)
  • Linux: connect Dear ImGui's clipboard to the system clipboard
  • Linux: fix crashes when recovering from OpenGL initialization errors
  • Linux: fix inverted NWSE/NESW cursors
  • Linux: implement IME and proper Unicode character input support
  • Linux: workaround black/flashing windows when docked with Intel or AMD GPUs [#6]
  • macOS: change Hand cursor to a pointing hand (instead of open hand)
  • macOS: hide the IME when focusing out of text fields
  • Windows: enable the IME only when a text field is active
  • Windows: set position of the IME's candidate window to the active text input field

Demo script:

  • Add Help->Programmer Guide section
  • Add text filtering in the Log app example
  • Add the CaptureKeyboardFromApp() example
  • Fix the last item not being reorderable in the 'simple drag' example
  • Move the 'Documentation' button out of the Tools menu
  • Partial port of the Style Editor window (Tools->Style Editor)

API changes:

  • Add v1.87's new named key constants (virtual key codes are now deprecated)
  • Fix DrawList_AddTextEx not using the default bitmap font when font == nil
  • Remove GetStyleColorName (enumerate the reaper table instead)
  • Remove the redundant num_points argument of DrawList_AddConvexPolyFilled

v0.5.10

11 Feb 21:26
v0.5.10
bb57212
Compare
Choose a tag to compare

API changes:

  • Add GetMouseClickedCount
  • Add ListClipper_ForceDisplayRangeByIndices