Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating docking branch #6

Merged
merged 1,010 commits into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1010 commits
Select commit Hold shift + click to select a range
3f34c83
MultiSelect: added ImGuiMultiSelectFlags_NoAutoClearOnReselect + twea…
ocornut Jun 28, 2024
d411c90
MultiSelect: minor tidying up.
ocornut Jun 28, 2024
7d4de84
MultiSelect: added courtesy ImGuiMultiSelectFlags_NavWrapX flag so we…
ocornut Jun 28, 2024
2697cfe
MultiSelect: Box-Select: uses SetActiveIdUsingAllKeyboardKeys() to av…
ocornut Jun 28, 2024
1b63522
MultiSelect: Box-Select: handle Esc to disable box-select.
ocornut Jun 28, 2024
7814518
MultiSelect: ImGuiSelectionBasicStorage: optimized for smaller insert…
ocornut Jul 1, 2024
2688562
MultiSelect: Better document how TreeNode() is not trivially usable yet.
ocornut Jul 18, 2024
02c31a8
MultiSelect: added Changelog for the feature. Removed IMGUI_HAS_MULTI…
ocornut Jul 1, 2024
d7e605d
Merge branch 'features/range_select'
ocornut Jul 18, 2024
fd77815
Merge branch 'master' into docking
ocornut Jul 18, 2024
2546d0a
Demo: moved ExampleTreeNode, ExampleMemberInfo above in the demo file…
ocornut Jul 19, 2024
57eea67
Demo: moved some fields inside a struct.
ocornut Jul 19, 2024
168ef39
Demo: moved menu bar code to its own function.
ocornut Jul 19, 2024
b6e313b
MultiSelect: using ImGuiMultiSelectFlags_NoRangeSelect ensure never h…
ocornut Jul 19, 2024
f9cda1f
Inputs: added SetItemKeyOwner(ImGuiKey key) in public API. (#456, #26…
ocornut Jul 19, 2024
02cc7d4
Merge branch 'master' into docking
ocornut Jul 19, 2024
eb72b5a
Backends: SDL3: Update for API changes: SDL_GetGamepads() memory owne…
ocornut Jul 22, 2024
da36336
TabBar, Style: added style option for the size of the Tab-Bar Overlin…
DctrNoob Jul 22, 2024
fd99494
Added a comment hinting at how to set IMGUI_API for shared librairies…
ocornut Jul 22, 2024
c3dca77
Demo: rework Property Editor.
ocornut Jul 22, 2024
97ff9bd
Nav: fixed c licking window decorations (e.g. resize borders) from lo…
ocornut Jul 22, 2024
605c8d7
Demo: Property Editor: using ImGuiChildFlags_NavFlattened now that a …
ocornut Jul 22, 2024
3fab2bb
Merge branch 'master' into docking
ocornut Jul 22, 2024
271910e
Backends: SDL3: Update for API changes: SDL_GetDisplays() memory owne…
ocornut Jul 22, 2024
fe09ebb
Backends: OpenGL3: Fixed unsupported option warning with apple clang …
cheyao Jul 22, 2024
aa0f6b3
Backends: OSX: fixed NSAppKitVersion version limit for setWantsBestRe…
YGXXD Jul 23, 2024
4d8c56c
Internals, TreeNode: indent all render block into its own scope (aim …
ocornut Jul 24, 2024
1230b44
Internals, TreeNode, Selectable: tweak span_all_columns paths for cla…
ocornut Jul 24, 2024
97c6f40
CollapsingHeader: left-side outer extend matches right-side one (move…
ocornut Jul 24, 2024
b67b375
Debug Log: fixed incorrect checkbox layout when partially clipped., d…
ocornut Jul 24, 2024
e3da939
Groups, Tables: fixed EndGroup() failing to correctly capture current…
ocornut Jul 24, 2024
79b77d9
MultiSelect: sequential SetRange merging not generally handled by box…
ocornut Jul 24, 2024
a285835
MultiSelect: add internal MultiSelectAddSetAll() helper.
ocornut Jul 24, 2024
237165a
MultiSelect: fixed an issue caused by previous commit.
ocornut Jul 24, 2024
ed356dc
MultiSelect: BoxSelect: fixed box-select from void setting nav id mul…
ocornut Jul 25, 2024
55f54fa
Internals: comment out obsolete g.ActiveIdUsingNavInputMask obsoleted…
ocornut Jul 25, 2024
aad86b8
Obsoleted GetWindowContentRegionMin() and GetWindowContentRegionMax().
ocornut Jul 25, 2024
055b2e8
Moved everyone's best friend GetContentRegionAvail() to a more promin…
ocornut Jul 25, 2024
4227402
Internals: removed GetContentRegionMaxAbs() which was only meaningful…
ocornut Jul 25, 2024
b20f62b
Obsoleted GetContentRegionMax().
ocornut Jul 25, 2024
3552df5
Merge branch 'master' into docking
ocornut Jul 25, 2024
3f9a90e
Docs: added extraneous link to Getting Started section.
ocornut Jul 25, 2024
b3ba6b3
Added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) b…
ocornut Jul 26, 2024
692bee5
Added GetID(int) variant for consistency. (#7111)
ocornut Jul 26, 2024
d42fa46
Misc micro-optimizations related to hot-path of dealing with a large …
ocornut Jul 26, 2024
79e83d6
Docs: misc update.
ocornut Jul 29, 2024
96460a8
InputText: Added '\' and '/' as word seperator. (#7824, #7704)
reduf Jul 28, 2024
c7b9256
Selectable: added ImGuiSelectableFlags_Highlight flag to highlight it…
rherilier Jul 26, 2024
5c9825c
Viewports: update fallback monitor to primary monitor if there's one.
ocornut Jul 29, 2024
249d5ca
Tables: storing LastFrozenHeight for frozen requests that don't have …
ocornut Jul 29, 2024
b847c41
MultiSelect: BoxSelect: fixed using in frozen table. (#7821, #5143) +…
ocornut Jul 29, 2024
e212511
Backends: Vulkan: ImGui_ImplVulkan_SwapBuffers() still proceeds incre…
ocornut Jul 29, 2024
df38704
Added SetNextItemStorageID() for tree nodes. (#7553, #6990, #3823, #1…
ocornut Jul 29, 2024
c2a3d5e
Comments, minor tweaks to ImGuiTextFilter.
ocornut Jul 29, 2024
ce3a8d7
Demo: MultiSelect: added tree demo. (#6990, #3823, #1861)
ocornut Aug 21, 2023
6df1a06
Merge branch 'master' into docking
ocornut Jul 29, 2024
1f634f1
Eaxmples: Android: Fix build failed issue. (#7832)
Sunrisepeak Jul 29, 2024
1b44e40
Demo: re-use tree data. Fix property editor vertical alignment. Tweak…
ocornut Jul 30, 2024
ec9a4ef
Clipper: accept that no item have been submitted if in indeterminate …
ocornut Jul 30, 2024
8199457
Version 1.91.0
ocornut Jul 30, 2024
139e99c
Merge branch 'master' into docking
ocornut Jul 30, 2024
dcf5478
Version 1.91.WIP
ocornut Jul 31, 2024
8874787
Examples: SDL2 (all), SDL3 (all), Win32+OpenGL3: Rework examples main…
ocornut Jul 31, 2024
71ee2ce
Examples: GLFW: rework examples main loop to handle minimization with…
ocornut Jul 31, 2024
fd57b25
Examples: Fix for Emscripten. GLFW+WGPU: rework examples main loop to…
ocornut Jul 31, 2024
5e7dc72
Examples: SDL3: Update readme to use SDL3_DIR (#7846)
learn-more Jul 31, 2024
2981a10
MultiSelect, TreeNode, Drag and Drop: fixed an issue where carrying a…
ocornut Aug 1, 2024
9f8f5e1
MultiSelect+TreeNode: default open behavior is OpenOnDoubleClick + Op…
ocornut Aug 1, 2024
cfd2395
Viewports: rework viewport's WorkOffset (positive top-left, negative …
ocornut Aug 1, 2024
d8c98c8
Merge branch 'master' into docking
ocornut Aug 1, 2024
a18f020
Viewports: added platform_io.Platform_GetWindowWorkAreaInsets() hook.…
ocornut Aug 1, 2024
531364d
Window refresh policy: fixed child window of skiprefresh windows not …
ocornut Aug 1, 2024
6864a7f
Window refresh policy: extend tests to any window in the begin stack.…
ocornut Aug 1, 2024
8cc6eee
Fonts: amend assert when glyph range data seems incorrect. (#7856)
ocornut Aug 3, 2024
4b654db
CI: Build example_sdl2_sdlrenderer2 with msbuild (#7864)
learn-more Aug 6, 2024
3232070
Demo: Fixed truncation warning. (#7857)
ocornut Aug 7, 2024
7b6314f
Viewports: don't call platform_io.Platform_GetWindowWorkAreaInsets() …
ocornut Aug 7, 2024
45e7f78
Examples: SDL2+SDLRenderer: fixed return value. (#7876)
lunarlattice0 Aug 9, 2024
29fadad
TextLink(), TextLinkOpenURL(): change mouse cursor to Hand shape when…
ocornut Aug 13, 2024
fbafc33
Backends: GLFW: don't submit monitor with 0 DpiScale (e.g. accessibil…
nicolasnoble Aug 19, 2024
fa65dcf
Backends: SDL2, SDL3: Replace Win32 hack with SDL_HINT_WINDOW_ACTIVAT…
RT2Code Aug 17, 2024
65840c1
Backends: SDL2, SDL3, Win32: don't submit monitor with 0 DpiScale (e.…
ocornut Aug 19, 2024
591a18a
Backends: SDL2, SDL3: ignore events of other SDL windows. (#7853)
madebr Aug 1, 2024
1b61d55
Backends: SDL2, SDL3: ignore events of other SDL windows, amends + wr…
ocornut Aug 19, 2024
2d99052
Backends: SDL2, SDL3: storing SDL_WindowID inside ImGuiViewport::Plat…
ocornut Aug 19, 2024
24b077c
Merge branch 'master' into docking (multi-viewport broken until next …
ocornut Aug 19, 2024
ea01c63
Backends: SDL2, SDL3: amend filtering logic for it to work with multi…
ocornut Aug 19, 2024
61313a7
Docs: better promote IMGUI_DEFINE_MATH_OPERATORS. (#6164, #6137, #596…
ocornut Aug 19, 2024
fabceaf
Internals: renamed IsModKey() -> IsLRModKey() and GetModForModKey() -…
ocornut Aug 19, 2024
092c88d
IO: rework interleaved keys<>char trickling: only trickle for keys kn…
ocornut Aug 19, 2024
ecb1962
IO, InputText: missing changelog entry (amend 092c88d) + readme note …
ocornut Aug 19, 2024
eb7201b
Fonts: Made it possible to use PushFont()/PopFont() calls accross Beg…
ocornut Aug 20, 2024
e471206
Windows: adjust default ClipRect to better match rendering of thick b…
ocornut Aug 20, 2024
59e69dc
ImGuiSelectionBasicStorage constructor needs visibility (#7906)
paroj Aug 21, 2024
8a946b6
InputText: allow callback to update buffer while in read-only mode (f…
ocornut Aug 21, 2024
521f84a
InputText: fixed an issue programmatically refocusing a multi-line in…
ocornut Aug 21, 2024
bf75504
Style: added PushStyleVarX(), PushStyleVarY() helpers to modify only …
ocornut Aug 22, 2024
8e40104
Backends: GLFW: passing null window to glfwGetClipboardString()/glfwS…
ocornut Aug 22, 2024
e646072
IO: Added GetPlatformIO(), ImGuiPlatformIO, currently empty.
ocornut Aug 22, 2024
ba2f4a2
IO: (BREAKING) moved GetIO().PlatformOpenInShellFn to GetPlatformIO(.…
ocornut Aug 22, 2024
9ff60ae
IO: (BREAKING) moved GetIO().PlatformSetImeDataFn to GetPlatformIO(.P…
ocornut Aug 22, 2024
e54f240
IO: (BREAKING) moved io.PlatformLocaleDecimalPoint to platform_io.Pla…
ocornut Aug 22, 2024
214977e
IO: (BREAKING) moved io.GetClipboardTextFn, io.SetClipboardTextFn to …
ocornut Aug 22, 2024
5de7f69
(BREAKING) Commented out obsolete ImageButton(). (#5533, #4471, #2464…
ocornut Aug 22, 2024
fed4841
Merge branch 'master' into docking
ocornut Aug 22, 2024
d15da2c
Backends: GLFW: undo accidentally not committing use of Platform_SetC…
ocornut Aug 22, 2024
8b37da7
Backends: GLFW: undo accidentally not committing use of Platform_SetC…
ocornut Aug 22, 2024
d474ed7
InputText: Internals: store Scroll.y as it seems sane to (internally)…
ocornut Aug 23, 2024
ce48430
CI: Add manual trigger for 'workflow_run' builds (#7865)
learn-more Aug 23, 2024
438f9e1
InputText: amend d474ed7 for static analysis. (#7913)
ocornut Aug 23, 2024
088e6fc
Examples: Win32+OpenGL3: added batch. file for msys2/mingw build. (#6…
BillKek Jun 22, 2023
1e939fc
Tooltips, Drag and Drop: made it possible to override BeginTooltip() …
ocornut Aug 23, 2024
0b9adc2
BeginChild: (BREAKING) renamed ImGuiChildFlags_Border to ImGuiChildFl…
ocornut Aug 23, 2024
947961b
Fixed Clang17 C++26 warning. (#7383)
ocornut Aug 23, 2024
a131c3e
Tables: revert a34071876 extending outer bottom/right border by 1, th…
ocornut Aug 23, 2024
864a2bf
Tables: another attempt at making contents not overlap the bottom and…
ocornut Aug 23, 2024
4fc187d
Merge branch 'master' into docking
ocornut Aug 23, 2024
8c4dceb
Tabs: avoid queuing a refocus when tab is already focused, which woul…
ocornut Aug 23, 2024
226e0d5
Fixed duplicate declaration of GetPlatformIO() in header. (#7917)
ocornut Aug 25, 2024
1d88609
Changed call from cosf to ImCos (#7939)
tanoxyz Sep 1, 2024
28caa22
Fix minor typo (#7943)
JamesWrigley Sep 2, 2024
4a06fe5
Update FONTS.md (#7944)
ocornut Sep 3, 2024
ee9e3a2
Tabs: avoid queuing a refocus when tab is already focused, which woul…
ocornut Aug 23, 2024
6a73195
Backends: SDL3: following SDL3 reverting their change, result of SDL_…
MattGuerrette Aug 25, 2024
4832027
Examples: SDL3: Update for API changes: SDL_Init() returns 0 on failure.
ocornut Sep 3, 2024
6af9ac2
Backends: SDL3: following SDL3 reverting their change, result of SDL_…
ocornut Sep 3, 2024
07be017
Demo: added emscripten version. (#7915)
ypujante Aug 23, 2024
30dcdcb
Backends: GLFW: Emscripten: use OpenURL() when available and using EM…
ypujante Aug 23, 2024
6d70c2d
Viewports: fixed misuse of inset_max.y, which typically would have br…
ocornut Sep 3, 2024
a93f7db
Misc merge/small stuff from docking to reduce drift.
ocornut Sep 3, 2024
f99febf
Made BeginItemTooltip() and IsItemHovered() with delay flag infer an …
ocornut Sep 3, 2024
afb15e9
PlotHistogram, PlotLines: register item ID in a more idiomatic manner…
ocornut Sep 3, 2024
7768134
PlotHistogram, PlotLines: use ButtonBehavior() to be idiomatic. (#793…
ocornut Sep 3, 2024
722a2a1
Tables: comments. (#7937)
ocornut Sep 4, 2024
8dd3383
Tables: fixed an issue detecting hovering column/row when using multi…
ocornut Sep 4, 2024
f75cf62
Tables: fixed resizing columns when using multiple synched instances …
ocornut Sep 4, 2024
1dfbb10
Version 1.91.1
ocornut Sep 4, 2024
f63c95a
Merge branch 'master' into docking
ocornut Sep 4, 2024
41eebc8
Fixed C++26 invalid enum operation (#7954)
CrackedMatter Sep 5, 2024
e3cb016
CI: upgrade Ubuntu version to get newer Clang. Add C++26 build test. …
ocornut Sep 5, 2024
943fd21
CI: Amend e3cb016.
ocornut Sep 5, 2024
4a1a38f
CI: Amend 943fd21.
ocornut Sep 5, 2024
d0b742e
CI: build with Clang C++26 on Linux. (#7954)
ocornut Sep 5, 2024
193c1e2
Version 1.91.2 WIP
ocornut Sep 5, 2024
d16cb17
Nav: pressing any keyboard key while holding Alt disable toggling nav…
ocornut Sep 5, 2024
a5cf4fe
InputText: added CJK double-width punctuation to list of separators c…
ocornut Sep 5, 2024
a2366f9
TextLinkOpenURL: display a verb in front the link. Update Gallery & o…
ocornut Sep 6, 2024
21d03ed
InputText: renamed namespace from stb_texture structure and added an …
ocornut Sep 9, 2024
ca5701d
InputText: moved all ImGuiInputTextState functions to not be inline.
ocornut Sep 9, 2024
15cb7d6
InputText: moved imstb_textedit.h include to imgui_widgets.cpp
ocornut Sep 9, 2024
7694e89
Merge branch 'master' into docking
ocornut Sep 9, 2024
4236bc0
Backends: SDL2: use SDL_Vulkan_GetDrawableSize with Vulkan instead of…
scribam Sep 8, 2024
a8eec24
Demo: fix some id conflicts. (#7961)
pthom Sep 9, 2024
67cd4ea
Added io.ConfigDebugHighlightIdConflicts debug feature! (#7961, #7669)
ocornut Sep 10, 2024
68aa9a8
Merge branch 'master' into docking
ocornut Sep 10, 2024
abd07f6
InputText: added native support for UTF-8 text editing and god rid of…
alektron Aug 26, 2024
d1b7817
InputText: amends: renames, coding style. (#7925)
ocornut Sep 5, 2024
1674fe9
InputText: amends: add stb_textedit_text() api. (#7925)
ocornut Sep 5, 2024
e240bc1
InputText: amends: add note about STB_TEXTEDIT_GETCHAR. tweak InputTe…
ocornut Sep 5, 2024
3d1e593
InputText: amends: fixed next/prev word implementation. (#7925)
ocornut Sep 5, 2024
19accb1
InputText: amends: fixed undo-stack reconcile. fixed metrics crash. f…
ocornut Sep 11, 2024
8807b01
InputText: amends: now can use memchr()/strchr() for line counting. M…
ocornut Sep 11, 2024
dc6346b
Fonts: fixed ellipsis "..." rendering width miscalculation bug introd…
ocornut Sep 12, 2024
52a6ab4
Doc: Fix typo. (#7974)
idbrii Sep 12, 2024
4847648
Backends: SDL3: added support for viewport->ParentViewportId field to…
RT2Code Sep 11, 2024
ac2ad79
Backends: GLFW+Emscripten: use OSX behaviors automatically when using…
ypujante Sep 7, 2024
6dcb7be
CI: amend build tests for emscripten (#7965)
ypujante Sep 7, 2024
4d00bf8
MultiSelect+Tables: fixed an issue where box-select would skip items …
ocornut Sep 12, 2024
8326dab
Merge branch 'master' into docking
ocornut Sep 12, 2024
dab6323
Misc: Made it accepted to call SetMouseCursor() with any out-of-bound…
ocornut Sep 16, 2024
8040c02
Viewports: fixed an issue where a window manually constrained to the …
ocornut Sep 16, 2024
510b6ad
CI: disable month-long PVS Studio warning about expiring licence.
ocornut Sep 16, 2024
44a7450
Backends: Win32: fixed direct calls to platform_io.Platform_SetWindow…
ocornut Sep 16, 2024
b53d91a
InputText: optimization for large text: using memchr() instead of str…
ocornut Sep 16, 2024
aef07ae
InputText: minor tidying up of selection search loop (no need to impl…
ocornut Sep 16, 2024
7ac50bf
InputText: more tidying up of selection search loop.
ocornut Sep 16, 2024
4925695
InputText: optimize InputTextCalcTextLenAndLineCount() for inactive m…
ocornut Sep 16, 2024
1ac162f
Backends: WGPU: add IMGUI_IMPL_WEBGPU_BACKEND_DAWN/IMGUI_IMPL_WEBGPU_…
acgaudette Sep 16, 2024
8ba7efb
Backends: Win32: fixed an issue where a viewport destroyed while clic…
ocornut Sep 16, 2024
08b1496
Backends: Win32: fixed an issue where a viewport destroyed while clic…
ocornut Sep 16, 2024
6ce26ef
AddFont: added assert to better detect uninitialized struct. (#7993)
ocornut Sep 17, 2024
1ab1e3c
Backends: SDL3: rework implementation of ImGuiViewportFlags_NoTaskBar…
RT2Code Sep 15, 2024
11fba02
Tables: using table->InnerClipRect more consistently. Fixes an assert…
ocornut Sep 17, 2024
71714ea
Tables: fixed assertion related to inconsistent outer clipping when s…
ocornut Sep 17, 2024
dad9f45
Windows: fixed an issue where double-click to collapse could be trigg…
ocornut Sep 17, 2024
6aade69
Inputs: SetNextItemShortcut() with ImGuiInputFlags_Tooltip doesn't sh…
ocornut Sep 17, 2024
e648dbb
Tables: fixed auto-width columns when using synced-instances of same …
ocornut Sep 17, 2024
f7ba645
InputText: fixed not filling callback's SelectionEnd. (#7925)
ocornut Sep 17, 2024
ae86889
Merge branch 'master' into docking
ocornut Sep 17, 2024
cfae5ac
Backends: make ImGui_ImplSDL2_KeyEventToImGuiKey(), ImGui_ImplSDL3_Ke…
ocornut Sep 19, 2024
4227250
Backends: ensure that ImGuiPlatformMonitor list is available after ba…
ocornut Sep 19, 2024
a9f72ab
Version 1.91.2
ocornut Sep 19, 2024
bc77ccc
Merge branch 'master' into docking
ocornut Sep 19, 2024
faca859
Version 1.91.3 WIP
ocornut Sep 19, 2024
0af2c4e
Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TI…
ocornut Sep 19, 2024
d0750ee
Error check: clarified that carriage returns are emitted by our code.…
ocornut Sep 19, 2024
4aeae5d
Error check: fixed build when using IMGUI_DISABLE_DEBUG_TOOLS.
ocornut Sep 20, 2024
a727332
Scrollbar: Shift+Click always use absolute positionning scroll. (#800…
ocornut Sep 20, 2024
fb41046
Scrollbar: added io.ConfigScrollbarScrollByPage setting. (#8002, #7328)
ocornut Sep 20, 2024
10fe2b6
Merge branch 'master' into docking
ocornut Sep 20, 2024
7f81fbc
Backends: WGPU: Fix new WGPUStringView breaks shader compilation. (#8…
Sep 22, 2024
d7cedd6
Backends: SDL2, SDL3: Fixed building for UWP platforms. (#8008)
ocornut Sep 23, 2024
bc77041
Error Handling: fixed an issue ErrorCheckEndWindowRecover() when abor…
ocornut Sep 23, 2024
44a73be
TestEngine: log calls don't need testing hook active.
ocornut Sep 24, 2024
726aad8
Refactor: moved ImGuiContext contructor to imgui.cpp
ocornut Sep 24, 2024
aa81272
Merge branch 'master' into docking
ocornut Sep 24, 2024
d0107f5
Internals: misc tweaks to facilitate branch merging.
ocornut Sep 24, 2024
9644c51
Error handling: rework error tooltip logic (will be reused by upcomin…
ocornut Sep 25, 2024
797101a
Windows: BeginChild(): made it possible to call SetNextWindowSize() o…
ocornut Sep 26, 2024
26785fd
Internals: NewFrame: move the window reset loop higher up, namely bef…
ocornut Sep 27, 2024
2360061
Error Handling, Debug Log: added IMGUI_DEBUG_LOG_ERROR() with special…
ocornut Sep 24, 2024
718a594
Error Handling: rewired asserts in PopID(), PopFont(), PopItemFlag(),…
ocornut Sep 24, 2024
8776678
Error Handling: replaced log callback in recovery functions with call…
ocornut Sep 24, 2024
30c29d2
Error Handling: enabled experimental recovery systems. (#1651, #5654)
ocornut Sep 24, 2024
199a44e
Error Handling: fixed not rewinding to recorded tree and id stack siz…
ocornut Sep 26, 2024
d1ea03b
Merge branch 'master' into docking
ocornut Sep 27, 2024
ba14c70
Comments. Fixed warnings.
ocornut Sep 27, 2024
7937732
Comments. Fixed warnings.
ocornut Sep 27, 2024
29cff2b
Silence PVS Studio static analyzer false positives.
ocornut Sep 28, 2024
03f007d
Comments (#1651)
ocornut Sep 30, 2024
655fcf8
TabBar: added TabBarQueueFocus() by name for non-docking tab bars. (#…
ocornut Sep 30, 2024
004f039
TabBar: added TabBarQueueFocus() by name for non-docking tab bars. (#…
ocornut Sep 30, 2024
f057541
Tooltips, Drag and Drop: Fixed an issue where the fallback drag and d…
ocornut Oct 2, 2024
014b722
Tooltips, Drag and Drop: Stabilized name of drag and drop tooltip win…
ocornut Oct 2, 2024
5109a77
Tooltips: Tooltips triggered from touch inputs are positionned above …
ocornut Oct 2, 2024
e80498f
Merge branch 'master' into docking
ocornut Oct 3, 2024
02b9797
Backends: SDL3: fixes use of now removed SDL_bool.
ocornut Oct 3, 2024
3293ef8
Backends: Win32: Use ResisterClassW()/CreateWindowExW() for secondary…
ocornut Oct 3, 2024
b3c8747
Drags, Slider: added ImGuiSliderFlags_ClampOnInput, ImGuiSliderFlags_…
ocornut Oct 3, 2024
3d399bc
Docs: amend docs to explain case of using multiple overlayed ButtonBe…
ocornut Oct 3, 2024
8db1261
Fixed static analyser warning. Amend b3c8747
ocornut Oct 3, 2024
cb16568
Version 1.91.3
ocornut Oct 4, 2024
b4c9635
Merge branch 'master' into docking
ocornut Oct 4, 2024
1dde20f
Version 1.91.4 WIP
ocornut Oct 7, 2024
9bd5d8a
Backends: misc renaming of locals. Use 'draw_list' instead of 'cmd_li…
ocornut Oct 7, 2024
e94f95d
Backends: DX11, DX12, Vulkan, WGPU: Expose some backend-specific rend…
ocornut Oct 7, 2024
74dd38d
Backends: Vulkan: fixed warnings when building in 32-bit mode.
ocornut Oct 7, 2024
42206b3
Backends: DX9, DX10, DX11, DX12, OpenGL, Vulkan, WGPU: Changed defaul…
ocornut Oct 7, 2024
fa9277d
Merge branch 'master' into docking
ocornut Oct 7, 2024
22503bf
Backends: changed all backends to allow enabling ImGuiConfigFlags_Vie…
ocornut Oct 8, 2024
c53025e
cmake
enriavil1 Sep 26, 2023
26f0ed7
Update README.md (#2)
enriavil1 Sep 27, 2023
69aeda7
added SDL link in cmake (#1)
enriavil1 Sep 27, 2023
3a4349b
more organized cmake (#3)
enriavil1 Sep 29, 2023
4e15b8b
Updating (#4)
enriavil1 Jul 22, 2024
2e608f0
Adding glfw and system handling (#5)
enriavil1 Jul 26, 2024
483ae4b
little thang
enriavil1 Oct 11, 2024
5b57c9d
duplicated case values
enriavil1 Oct 11, 2024
b795d91
Merge branch 'docking' into updating-docking-branch
enriavil1 Oct 11, 2024
94c35ca
again
enriavil1 Oct 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 64 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
# "scheduled" workflow, while maintaining ability to perform local CI builds.
workflows:
- scheduled
- manual
branches:
- master
- docking
Expand Down Expand Up @@ -123,6 +124,11 @@ jobs:
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_glfw_vulkan/example_glfw_vulkan.vcxproj /p:Platform=Win32 /p:Configuration=Release'
if: github.event_name == 'workflow_run'

- name: Build Win32 example_sdl2_sdlrenderer2
shell: cmd
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2.vcxproj /p:Platform=Win32 /p:Configuration=Release'
if: github.event_name == 'workflow_run'

- name: Build Win32 example_sdl2_vulkan
shell: cmd
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_sdl2_vulkan/example_sdl2_vulkan.vcxproj /p:Platform=Win32 /p:Configuration=Release'
Expand Down Expand Up @@ -168,6 +174,11 @@ jobs:
shell: cmd
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_glfw_vulkan/example_glfw_vulkan.vcxproj /p:Platform=x64 /p:Configuration=Release'

- name: Build x64 example_sdl2_sdlrenderer2
shell: cmd
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2.vcxproj /p:Platform=x64 /p:Configuration=Release'
if: github.event_name == 'workflow_run'

- name: Build x64 example_sdl2_vulkan
shell: cmd
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_sdl2_vulkan/example_sdl2_vulkan.vcxproj /p:Platform=x64 /p:Configuration=Release'
Expand Down Expand Up @@ -207,7 +218,7 @@ jobs:
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_win32_directx12/example_win32_directx12.vcxproj /p:Platform=x64 /p:Configuration=Release'

Linux:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -313,6 +324,18 @@ jobs:
EOF
g++ -I. -std=c++11 -Wall -Wformat -o example_single_file example_single_file.cpp

- name: Build example_null (with C++20)
run: |
cat > example_single_file.cpp <<'EOF'

#define IMGUI_DISABLE_OBSOLETE_KEYIO
#define IMGUI_IMPLEMENTATION
#include "misc/single_file/imgui_single_file.h"
#include "examples/example_null/main.cpp"

EOF
g++ -I. -std=c++20 -Wall -Wformat -o example_single_file example_single_file.cpp

- name: Build example_null (with IMGUI_DISABLE_DEMO_WINDOWS and IMGUI_DISABLE_DEBUG_TOOLS)
run: |
cat > example_single_file.cpp <<'EOF'
Expand Down Expand Up @@ -370,6 +393,18 @@ jobs:
EOF
g++ -I. -std=c++11 -Wall -Wformat -o example_single_file example_single_file.cpp

- name: Build example_null (C++26, Clang)
run: |
cat > example_single_file.cpp <<'EOF'

#define IMGUI_IMPLEMENTATION
#define IMGUI_DISABLE_DEMO_WINDOWS
#include "misc/single_file/imgui_single_file.h"
#include "examples/example_null/main.cpp"

EOF
clang++ -I. -std=c++26 -Wall -Wformat -fno-exceptions -fno-threadsafe-statics -lc -lm -o example_single_file example_single_file.cpp

- name: Build example_null (without c++ runtime, Clang)
run: |
cat > example_single_file.cpp <<'EOF'
Expand Down Expand Up @@ -422,6 +457,17 @@ jobs:
EOF
clang++ -I. -std=c++11 -Wall -Wformat -o example_single_file example_single_file.cpp

- name: Build example_null (single file build, c++20)
run: |
cat > example_single_file.cpp <<'EOF'

#define IMGUI_IMPLEMENTATION
#include "misc/single_file/imgui_single_file.h"
#include "examples/example_null/main.cpp"

EOF
clang++ -I. -std=c++20 -Wall -Wformat -o example_single_file example_single_file.cpp

- name: Build example_null (without c++ runtime)
run: |
cat > example_single_file.cpp <<'EOF'
Expand Down Expand Up @@ -470,7 +516,7 @@ jobs:
xcodebuild -project examples/example_apple_metal/example_apple_metal.xcodeproj -target example_apple_metal_ios CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

Emscripten:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

Expand All @@ -481,6 +527,7 @@ jobs:
emsdk-master/emsdk update
emsdk-master/emsdk install latest
emsdk-master/emsdk activate latest
sudo apt-get install build-essential

- name: Build example_sdl2_opengl3 with Emscripten
run: |
Expand All @@ -489,15 +536,28 @@ jobs:
popd
make -C examples/example_sdl2_opengl3 -f Makefile.emscripten

- name: Build example_glfw_wgpu
# This build compiles example_glfw_wgpu using Makefile.emscripten and Emscripten GLFW built-in implementation (-sUSE_GLFW=3)
# This ensures 2 things: the make build works, and the GLFW built-in implementation is tested
- name: Build example_glfw_wgpu with Emscripten/Makefile
run: |
pushd emsdk-master
source ./emsdk_env.sh
popd
make -C examples/example_glfw_wgpu -f Makefile.emscripten

# This build compiles example_glfw_wgpu using CMakeLists.txt and Emscripten GLFW contrib port (--use-port=contrib.glfw3)
# This ensures 2 things: the CMake build works, and the GLFW contrib port is tested
- name: Build example_glfw_wgpu with Emscripten/CMake
run: |
pushd emsdk-master
source ./emsdk_env.sh
popd
emcc -v
emcmake cmake -B build -DCMAKE_BUILD_TYPE=Release examples/example_glfw_wgpu
cmake --build build

Android:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/manual.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#
# This is a dummy workflow used to trigger full builds manually.
#
name: manual

on: workflow_dispatch

jobs:
manual:
runs-on: ubuntu-latest
steps:
- run: exit 0
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ jobs:
fi
cd examples/example_null
pvs-studio-analyzer trace -- make WITH_EXTRA_WARNINGS=1
pvs-studio-analyzer analyze -e ../../imstb_rectpack.h -e ../../imstb_textedit.h -e ../../imstb_truetype.h -l ../../pvs-studio.lic -o pvs-studio.log
pvs-studio-analyzer analyze --disableLicenseExpirationCheck -e ../../imstb_rectpack.h -e ../../imstb_textedit.h -e ../../imstb_truetype.h -l ../../pvs-studio.lic -o pvs-studio.log
plog-converter -a 'GA:1,2;OP:1' -d V1071 -t errorfile -w pvs-studio.log
44 changes: 24 additions & 20 deletions backends/imgui_impl_allegro5.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@

// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
// 2024-08-22: moved some OS/backend related function pointers from ImGuiIO to ImGuiPlatformIO:
// - io.GetClipboardTextFn -> platform_io.Platform_GetClipboardTextFn
// - io.SetClipboardTextFn -> platform_io.Platform_SetClipboardTextFn
// 2022-11-30: Renderer: Restoring using al_draw_indexed_prim() when Allegro version is >= 5.2.5.
// 2022-10-11: Using 'nullptr' instead of 'NULL' as per our switch to C++11.
// 2022-09-26: Inputs: Renamed ImGuiKey_ModXXX introduced in 1.87 to ImGuiMod_XXX (old names still supported).
Expand Down Expand Up @@ -147,14 +150,14 @@ void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data)
// Render command lists
for (int n = 0; n < draw_data->CmdListsCount; n++)
{
const ImDrawList* cmd_list = draw_data->CmdLists[n];
const ImDrawList* draw_list = draw_data->CmdLists[n];

ImVector<ImDrawVertAllegro>& vertices = bd->BufVertices;
#if ALLEGRO_HAS_DRAW_INDEXED_PRIM
vertices.resize(cmd_list->VtxBuffer.Size);
for (int i = 0; i < cmd_list->VtxBuffer.Size; i++)
vertices.resize(draw_list->VtxBuffer.Size);
for (int i = 0; i < draw_list->VtxBuffer.Size; i++)
{
const ImDrawVert* src_v = &cmd_list->VtxBuffer[i];
const ImDrawVert* src_v = &draw_list->VtxBuffer[i];
ImDrawVertAllegro* dst_v = &vertices[i];
DRAW_VERT_IMGUI_TO_ALLEGRO(dst_v, src_v);
}
Expand All @@ -164,39 +167,39 @@ void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data)
// FIXME-OPT: Allegro doesn't support 16-bit indices.
// You can '#define ImDrawIdx int' in imconfig.h to request Dear ImGui to output 32-bit indices.
// Otherwise, we convert them from 16-bit to 32-bit at runtime here, which works perfectly but is a little wasteful.
bd->BufIndices.resize(cmd_list->IdxBuffer.Size);
for (int i = 0; i < cmd_list->IdxBuffer.Size; ++i)
bd->BufIndices[i] = (int)cmd_list->IdxBuffer.Data[i];
bd->BufIndices.resize(draw_list->IdxBuffer.Size);
for (int i = 0; i < draw_list->IdxBuffer.Size; ++i)
bd->BufIndices[i] = (int)draw_list->IdxBuffer.Data[i];
indices = bd->BufIndices.Data;
}
else if (sizeof(ImDrawIdx) == 4)
{
indices = (const int*)cmd_list->IdxBuffer.Data;
indices = (const int*)draw_list->IdxBuffer.Data;
}
#else
// Allegro's implementation of al_draw_indexed_prim() for DX9 was broken until 5.2.5. Unindex buffers ourselves while converting vertex format.
vertices.resize(cmd_list->IdxBuffer.Size);
for (int i = 0; i < cmd_list->IdxBuffer.Size; i++)
vertices.resize(draw_list->IdxBuffer.Size);
for (int i = 0; i < draw_list->IdxBuffer.Size; i++)
{
const ImDrawVert* src_v = &cmd_list->VtxBuffer[cmd_list->IdxBuffer[i]];
const ImDrawVert* src_v = &draw_list->VtxBuffer[draw_list->IdxBuffer[i]];
ImDrawVertAllegro* dst_v = &vertices[i];
DRAW_VERT_IMGUI_TO_ALLEGRO(dst_v, src_v);
}
#endif

// Render command lists
ImVec2 clip_off = draw_data->DisplayPos;
for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
for (int cmd_i = 0; cmd_i < draw_list->CmdBuffer.Size; cmd_i++)
{
const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i];
const ImDrawCmd* pcmd = &draw_list->CmdBuffer[cmd_i];
if (pcmd->UserCallback)
{
// User callback, registered via ImDrawList::AddCallback()
// (ImDrawCallback_ResetRenderState is a special callback value used by the user to request the renderer to reset render state.)
if (pcmd->UserCallback == ImDrawCallback_ResetRenderState)
ImGui_ImplAllegro5_SetupRenderState(draw_data);
else
pcmd->UserCallback(cmd_list, pcmd);
pcmd->UserCallback(draw_list, pcmd);
}
else
{
Expand Down Expand Up @@ -292,7 +295,7 @@ void ImGui_ImplAllegro5_InvalidateDeviceObjects()
}

#if ALLEGRO_HAS_CLIPBOARD
static const char* ImGui_ImplAllegro5_GetClipboardText(void*)
static const char* ImGui_ImplAllegro5_GetClipboardText(ImGuiContext*)
{
ImGui_ImplAllegro5_Data* bd = ImGui_ImplAllegro5_GetBackendData();
if (bd->ClipboardTextData)
Expand All @@ -301,14 +304,15 @@ static const char* ImGui_ImplAllegro5_GetClipboardText(void*)
return bd->ClipboardTextData;
}

static void ImGui_ImplAllegro5_SetClipboardText(void*, const char* text)
static void ImGui_ImplAllegro5_SetClipboardText(ImGuiContext*, const char* text)
{
ImGui_ImplAllegro5_Data* bd = ImGui_ImplAllegro5_GetBackendData();
al_set_clipboard_text(bd->Display, text);
}
#endif

static ImGuiKey ImGui_ImplAllegro5_KeyCodeToImGuiKey(int key_code)
// Not static to allow third-party code to use that if they want to (but undocumented)
ImGuiKey ImGui_ImplAllegro5_KeyCodeToImGuiKey(int key_code)
{
switch (key_code)
{
Expand Down Expand Up @@ -448,9 +452,9 @@ bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display)
bd->VertexDecl = al_create_vertex_decl(elems, sizeof(ImDrawVertAllegro));

#if ALLEGRO_HAS_CLIPBOARD
io.SetClipboardTextFn = ImGui_ImplAllegro5_SetClipboardText;
io.GetClipboardTextFn = ImGui_ImplAllegro5_GetClipboardText;
io.ClipboardUserData = nullptr;
ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
platform_io.Platform_SetClipboardTextFn = ImGui_ImplAllegro5_SetClipboardText;
platform_io.Platform_GetClipboardTextFn = ImGui_ImplAllegro5_GetClipboardText;
#endif

return true;
Expand Down
1 change: 1 addition & 0 deletions backends/imgui_impl_allegro5.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
struct ALLEGRO_DISPLAY;
union ALLEGRO_EVENT;

// Follow "Getting Started" link and check examples/ folder to learn about using backends!
IMGUI_IMPL_API bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display);
IMGUI_IMPL_API void ImGui_ImplAllegro5_Shutdown();
IMGUI_IMPL_API void ImGui_ImplAllegro5_NewFrame();
Expand Down
1 change: 1 addition & 0 deletions backends/imgui_impl_android.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
struct ANativeWindow;
struct AInputEvent;

// Follow "Getting Started" link and check examples/ folder to learn about using backends!
IMGUI_IMPL_API bool ImGui_ImplAndroid_Init(ANativeWindow* window);
IMGUI_IMPL_API int32_t ImGui_ImplAndroid_HandleInputEvent(const AInputEvent* input_event);
IMGUI_IMPL_API void ImGui_ImplAndroid_Shutdown();
Expand Down
Loading
Loading