Releases: cfillion/reaimgui
Releases · cfillion/reaimgui
v0.8.2
- 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
- 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
- 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}
andConfigVar_InputTextEnterKeepActive
- Add
GetFramerate
- Add
HoveredFlags_{Delay{Normal,Short},NoSharedDelay}
- Add
Image{,Button}
andDrawList_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_*
andKey_Mod*
toMod_*
v0.7.2
- 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:
v0.7.1
- 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
- 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
andListBox
: 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
toSetNextFrameWantCaptureKeyboard
- Rename
KeyModFlags_*
constants toModFlags_*
- Reorder
GetVersion
's return values and addIMGUI_VERSION_NUM
- Replace
{Get,Set}ConfigFlags
with{Get,Set}ConfigVar(ConfigVar_Flags)
v0.6.2
- 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 fornum_segments
when omitted- Revert "Fix
DrawList_AddTextEx
not using the default bitmap font when font == nil" from v0.6
v0.6.1
- 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
- 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 ofDrawList_AddConvexPolyFilled
v0.5.10
- Update to Dear ImGui v1.86 (release notes)
API changes:
- Add
GetMouseClickedCount
- Add
ListClipper_ForceDisplayRangeByIndices