omar
103c5edaaa
Internals: debug log macros.
5 years ago
ocornut
75de34e281
Viewports, Docking: Added per-viewport work area system for e.g. menu-bars. Fixed DocksapceOverViewport() and demo code (overlay etc) ( #3035 , #2889 , #2474 , #1542 , #2109 )
...
Clarified that BeginMenuMainBar() had an incorrect knowledge of its height (which was previously harmless).
Designed to easily allow for status bars although we don't have/use them yet, but custom code could use them.
5 years ago
ocornut
f032ad6b1f
Viewports: Renamed GetRect() to GetMainRect() in prevision for work rect. Comments
5 years ago
ocornut
898e91f20d
Internals: Added TempInputText() to facilitate creation of custom widgets, renamed TempInputTextScalar() to TempInputScalar() etc. ( #2718 )
...
+ Minor imgui.h/todo comments
5 years ago
Omar
bb1e6f8af6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
5 years ago
Omar
b62f1ea8e9
Fix zealous PVS studio warnings. Minor tweaks.
5 years ago
omar
ccaec1a270
Version 1.76 WIP
5 years ago
omar
30bb15672d
Remove trailing spaces
5 years ago
omar
d16c87a5b1
Internals: Minor renaming
5 years ago
omar
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
5 years ago
omar
58b3e02b95
Version 1.75
...
Comments
5 years ago
omar
d37d25470a
Added IMGUI_DISABLE compile-time definition to make all headers and sources empty.
5 years ago
omar
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
5 years ago
omar
5a437f198c
Internals: GetItemStatusFlags(). Added Comments.
5 years ago
omar
4b4be11fd2
Docking: Clarifying that DockNode!=NULL when DockIsActive. Comments. Cleanup.
5 years ago
omar
47fab0e166
Misc renaming, comments. Docs: add missing spacing to Changelog.
5 years ago
Rokas Kupstys
9cff4d6e5e
Columns: ImDrawList::Channels* functions now work inside columns.
...
Use a private splitter in columns, paving way for removal of obsolete ImDrawList::Channels* functions.
5 years ago
Konstantin Podsvirov
8cbb693f47
Emscripten: Allow filesystem support. ( #3005 )
...
Filesystem functions perfectly work for Emscripten platform. This changes remove extra changes added by #2734 .
You can still disable filesystem functions by defining IMGUI_DISABLE_FILE_FUNCTIONS.
5 years ago
omar
e7bfcb970e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
5 years ago
omar
6e1f8be07b
Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. ( #3007 )
5 years ago
omar
0e89041997
Internals: ButtonEx, ButtonBehavior can support multiple mouse buttons.
5 years ago
omar
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
5 years ago
omar
5f4dfad5b7
Merge misc/shallow changes from Docking to reduce drift.
...
Most are comments. Fix menu bar clipping: 07ff47bf1b
5 years ago
omar
6c1a73774d
Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool.
5 years ago
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
5 years ago
omar
4d4e3b97f4
TODO, Readme
...
(dropped TreeNode_NoIndent flag from todo, as it feels unnecessary)
5 years ago
omar
5363af7f47
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
...
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
5 years ago
Ben Carter
051ce0765e
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts
5 years ago
omar
2eda3585e7
Fixed hoverable/focus bug introduced in 3fe6ae97
( #2997 )
...
+ ArrowButtonEx() internal bits.
5 years ago
omar
7e068da2bd
Docking: Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix)
5 years ago
omar
3fe6ae9732
Internals: Move some Nav functions and members around (no functional change) + Misc comments
5 years ago
omar
15c6abe4be
Internals: Standard math functions default redirection uses a define instead of an extraneous inline function call
5 years ago
omar
9ad4c5da7e
Fix zealous warnings + Internals: Renamed members from XxxxID to XxxxxId to be more consistent with rest of the codebase (still some inconsistency left that are harder to fix)
5 years ago
omar
f6d6880a61
Internals: Nav: PushFocusScope, PopFocusScope, GetFocusScopeID() helpers
5 years ago
omar
44174b1fa1
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
# imgui_internal.h
5 years ago
omar
2ebe08be40
Focus, Nav: Merged bits from RangeSelect features to enable early manipulation of focus scope for styling purpose.
...
FocusScopeId is tracked by nav scoring/request and stored in result.
It's all rather WIP and we should reorganize the SetNavIDXXX functions fiasco at some point (soon?).
Didn't separate FocusScope from SelectionScope for now, will re-investigate this later, this is the minimum commit to be able to do some styling.
5 years ago
omar
e2eb0b4bc4
Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better)
5 years ago
omar
02c2d18aa3
Internals: Renaming and marking of legacy focus/tabbing system
5 years ago
omar
52334ad8df
Internals: Minor ordering/comments of ImGuiWindowTempData.
5 years ago
omar
4b3c5ff5f1
Comments + minor moving
5 years ago
omar
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
5 years ago
omar
1eb71fc72b
ButtonBehavior: Added ImGuiButtonFlags_PressedOnClickReleaseAnywhere behavior ( #2971 )
...
Rearranged flags. Added tests in 'widgets_button_press'
5 years ago
omar
1db78b8ca7
Renaming + missing initialization + missing Changelog update.
5 years ago
Rokas Kupstys
32c33c6659
ColorEdit: Preserve last saturation value when V=0. Disable Hue editing lock.
...
This workaround is no longer necessary because preserving hue value prevents it from resetting when it is edited in said condition.
5 years ago
omar
d581939387
Removed trailing spaces.
5 years ago
omar
07eb7adbb4
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
5 years ago
omar
854fc08194
Amend f70204f2
to facilitate merges.
5 years ago
omar
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
5 years ago
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
5 years ago
Rokas Kupstys
3831d50ab9
Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point.
5 years ago
omar
10fdc03a46
Clarification about Im helpers + moving GetColorXXX functions outside of that block.
5 years ago
omar
992736dc5d
Merge branch 'refs/heads/master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
5 years ago
omar
43bd80a40d
Internals: Breaking: ImRect() default constructor initializes all fields with 0.0f
...
Instead of (FLT_MAX,FLT_MAX,-FLT_MAX,-FLT_MAX). Previous behavior was designed for adding into a bounding box but rarely relied on and not worth it.
5 years ago
omar
e42c1e1668
Exposed IMGUI_DEBUG_PARANOID in imconfig.h + using a #define with no value to match other uses in imconfig.h
5 years ago
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
5 years ago
omar
e4a59d0025
TabItem: honor ImGuiTabItemFlags_NoCloseButton passed as parameter (although undocumented and part of private api) ( #2923 )
5 years ago
omar
f656e7775e
Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
...
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
5 years ago
omar
927580d4a8
Docking: Cleanup, rename DockNodePreviewDockCalc() -> DockNodePreviewDockSetup()
5 years ago
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
5 years ago
omar
a1e4af62d3
Docking: Fix bug added in 71a58261
+ Misc docking omments
5 years ago
omar
71a58261f6
Docking: Internals: Removed redundancy in code path leading to the BeginAsDockableDragDropSource(), clarified UpdateMouseMovingWindowEndFrame()
...
Note that the ConfigWindowsMoveFromTitleBarOnly path for UpdateMouseMovingWindowEndFrame() would previously test the window->RootWindow title bar instead of window->RootWindowDockStop. This didn't have any side effect afaik because we wouldn't enter that function anyway as clicking on any tab bar would trigger the move before UpdateMouseMovingWindowEndFrame() does it. However for consistency made the UpdateMouseMovingWindowEndFrame()code more correct.
+ minor renaming
5 years ago
omar
8d1b82d596
Docking: Internals: Rename StartMouseDragFromTitleBar() -> StartMouseMovingWindowOrNode(), clarify.
5 years ago
omar
a8092085b1
Internal: Added unused parameter named to facilitate cimgui parsing of imgui_internal.h
...
https://github.com/cimgui/cimgui/issues/108
5 years ago
omar
813e0c18e6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
5 years ago
omar
bdce833636
Version 1.74
5 years ago
omar
bbe0409942
Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795
.
...
Internals: Added ImTriangleArea()
5 years ago
omar
b205ab01f2
Internals: Added IM_ASSERT_PARANOID, IMGUI_DEBUG_PARANOID define. Shuffled a bit of the macros section in imgui_internal.h
5 years ago
omar
a899c1e570
Internals: Using ImU64 for internal ImFile api so we can later wrap them to fseeko/ftello//_fseeki64/_ftelli64 ( #2734 )
5 years ago
omar
ecbedc8c26
Tweaks, ammend 93efa54
, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS ( #1038 )
5 years ago
omar
4e90906b04
Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734 )
...
Using in Emscripten example.
5 years ago
omar
93efa5415f
Renamed IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS to IMGUI_DISABLE_DEFAULT_FORMAT_STRING_FUNCTIONS. ( #1038 )
...
Renamed IMGUI_DISABLE_MATH_FUNCTIONS to IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS.
5 years ago
omar
3895363432
Merge branch 'master' into docking inc alter GetWindowResizeID
...
# Conflicts:
# imgui.cpp
5 years ago
omar
ca30ef4269
Drag and drop: Increase local payload buffer from 8 to 16 bytes.
5 years ago
omar
7e232092a6
Internals: Added GetWindowResizeID(), renamed GetScrollbarID() to GetWindowScrollbarID(). Using integer for resize ID so they matches regardless of the pointer size.
...
Internals: Renamed IMGUI_USER_ERROR to IM_ASSERT_USER_ERROR().
5 years ago
omar
a1e43c682a
Merge branch 'master' into docking (with fixes)
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
5 years ago
omar
be05e12e21
Misc: Using static_assert() when using C++11, instead of our own construct (avoid zealous Clang warnings).
5 years ago
omar
03852470de
Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. ( #1651 )
5 years ago
omar
25eee91542
Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. ( #1651 )
...
Internals: Moved some error handling code.
5 years ago
omar
b138f8cbcd
Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest()
5 years ago
omar
c3fd4ae473
Docking: comments
5 years ago
omar
69b5c2f541
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
5 years ago
omar
57dc34f4e8
TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. ( #1896 , #1861 )
5 years ago
omar
011d475532
TreeNode: The collapsing arrow accepts click even if modifier keys are being held, facilitating interactions with multi-select patterns. ( #2886 , #1896 , #1861 )
5 years ago
omar
d003674f2c
Internals: Added ImChunkStream, used by window settings. (more generic followup to 4c13807
, the class will be used more extensively by Tables)
5 years ago
omar
a337e219b6
Internals: ImPool: Renaming.
5 years ago
omar
28f1d60de1
Internals: Renaming + added ImStrSkipBlank() from docking branch.
...
(cherry picked from commit a573943fa0ce323ffb4080e57f5e8fe1bc777c36)
5 years ago
omar
09b2310237
Internals: Added index of helpers and shuffled a few things.
5 years ago
omar
4c13807b7d
Misc: Optimized storage of window settings data (reducing allocation count).
5 years ago
omar
a704614b3e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
5 years ago
omar
8fee5a4349
Internals: Renaming for consistency.
5 years ago
omar
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
5 years ago
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
5 years ago
Rokas Kupstys
c863c1f6a1
Clean up number rounding. Now it is more obvious what code is doing. ( #2862 )
...
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
5 years ago
omar
32380a0112
Viewport: Store current dpi scale in context.
5 years ago
omar
0cbb96895a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx12.cpp
# imgui.cpp
# imgui.h
# imgui_widgets.cpp
5 years ago
omar
ec0e953cca
Fixed a couple of subtle bounding box vertical positioning issues relating to text baseline alignment.
...
The issue would generally manifest when laying out multiple items on a same line, with varying heights and text baseline offsets. (#2833 )
Some specific examples, e.g. a button with regular frame padding followed by another item with a multi-line label and no frame padding, such as: multi-line text, small button, tree node item, etc. The second item was correctly offset to match text baseline, and would interact/display correctly,but it wouldn't push the contents area boundary low enough.
Note: previously the second parameter to ItemSize() was 0.0f was default, now -1.0f to signify "no text baseline offset request". If you have code using ItemSize() with an hardcoded zero you may need to change it. (+1 squashed commits)
5 years ago
omar
7feccf9ab2
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
5 years ago
Rokas Kupstys
714fe29d1a
Replace manual flooring with IM_FLOOR() macro. ( #2850 )
...
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.
(cherry picked from commit bc165df6fd7969605bbc07b8a6d3d28f9109e8f3)
5 years ago
omar
a41f0b2df4
Inputs: Fixed a miscalculation in the keyboard/mouse "typematic" repeat delay/rate calculation, used by keys and e.g. repeating mouse buttons as well as the GetKeyPressedAmount() function.
...
IMPORTANT: Renamed internal CalcTypematicPressedRepeatAmount to CalcTypematicRepeatAmount and reordered the t1, t0 arguments to t0, t1 !!
If you were using a non-default value for io.KeyRepeatRate (previous default was 0.250), you can add +io.KeyRepeatDelay to it to compensate for the fix. The function was triggering on: 0.0 and (delay+rate*N) where (N>=1). Fixed formula responds to (N>=0).
Effectively it made io.KeyRepeatRate behave like it was set to (io.KeyRepeatRate + io.KeyRepeatDelay).
Fixed the code and altered default io.KeyRepeatRate,Delay from 0.250,0.050 to 0.300,0.050 to compensate.
If you never altered io.KeyRepeatRate nor used GetKeyPressedAmount() this won't affect you.
5 years ago
omar
c7bdec7e18
InputText, Nav: Fixed Left!Right keys broken when activating Keyboard Navigation. ( #787 ) Amend 892dfb1
5 years ago