Commit Graph

3544 Commits

Author SHA1 Message Date
omar
0bbbbe0f68 Internal: Refactor: Moved RenderArrow, RenderBullet, RenderCheckMark to imgui_draw.cpp, changed RenderCheckMark to avoid using ImGui context 2020-03-18 22:48:22 +01:00
ocornut
1d5612a05e Internal: Added two missing ImVec2 operators for consistency. Split up DragDropWithinSourceOrTarget
ImVec2 *= ImVec2 to match  ImVec2 * ImVec2, likewise with /
2020-03-12 20:58:24 +01:00
ocornut
a5041c8820 Focus: Child inherit focus scope from parent (amend 2ebe08be). 2020-03-11 21:07:39 +01:00
ocornut
4a10af2bda Unicode, Windows: Remove stringapiset.h include (breaks vs2010 and seems unnecessary?). (#2541, #2815) 2020-03-11 13:25:50 +01:00
ocornut
aef057e975 Internals: Added GetInputTextState() + comments. 2020-03-07 15:55:05 +01:00
ocornut
2dcf8df9f4 Internals: Shuffled some of the windows-specific includes to avoid duplication. Might have undesirable side-effects on some compilers, please report! 2020-03-07 15:51:50 +01:00
ocornut
de37a0bfab Internals: fix potential warning. Comments around include sections. Moved a few bits. 2020-03-07 15:40:22 +01:00
ocornut
1b5b87a40e Internals: Added #define NOMINMAX before windows.h include for single-compile-unit builds. 2020-03-07 15:19:51 +01:00
ocornut
b029182a73 Merge branch 'features/unicode' 2020-03-03 18:59:54 +01:00
omar
897704cb49 Menus: Tweak for first-level menu windows to be positioned regardless of MenuBarHeight() which is not stored in window, allowing undocumented modification of the menu bar height). 2020-03-03 18:57:07 +01:00
ocornut
a41332453e Unicode: Changelog, comments, minimum CI integration. (#2541, #2538, #2815) 2020-03-03 18:53:29 +01:00
Sam Hocevar
c8ea0a017d Unicode: UTF32 support improvements (#2541, #2538, #2815)
- Make ImWchar32 unsigned.
 - Fix Win32 version of ImFileOpen by including windows.h sooner.
 - Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
 - Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
 - Minor cleaning up in the high-plane Unicode support.
 - Fix Clang -Wunreachable-code warning
2020-03-03 18:53:29 +01:00
Cloud Wu
6d59653e82 Unicode: full Unicode Support (6 squashed commits) (#2541, #2538)
fix build for WideCharToMultiByte
[3181ff1e] Full Unicode Support
[6c9e73ac] Fix ImTextCountUtf8BytesFromChar and ImTextCharToUtf8, these APIs assume the input is an unicode code point, not UTF-16
[ba85665b] Add AddInputCharacterUTF16 for windows backend to handle WM_CHAR
[fafdcaf0] Use Windows API to convert UTF-16 for ImFileOpen
[dc7d5925] Use windows API to convert UTF-16 for clipboard
2020-03-03 18:53:29 +01:00
ocornut
8c683de33f Internals: Refactor: Moved get height and contents regions functions, to Layout section. IF YOU GREAT CONFLICTS WHILE MERGING (NOT REBASING) THOSE 6 PREV COMMITS, TRY MERGING THEM INDIVIDUALLY 1 by 1 or 2 by 2 etc. 2020-03-03 17:04:32 +01:00
ocornut
602df11f19 Internals: Refactor: Moved item width/size functions to Layout section. 2020-03-03 16:28:03 +01:00
ocornut
6c1810e503 Internals: Refactor: Moved cursor position functions to Layout section. 2020-03-03 16:27:58 +01:00
ocornut
3ce26f65d4 Internals: Refactor: Moved ItemAdd(), ItemSize(), BeginGroup(), EndGroup(), SameLine(), Indent(), Unindent() to Layout section. 2020-03-03 16:27:49 +01:00
ocornut
caca55c642 Internals: Refactor: Moved code into a Styling section and some code into the Error Handling section. 2020-03-03 16:03:28 +01:00
ocornut
2679bee28d Internals: Refactor: Moved code out of NewFrame() into UpdateTabFocus() and UpdateSettings() 2020-03-03 16:03:28 +01:00
ocornut
24bd33ace8 Menus: Some renaming, comments, add to demo. Amend 0342a3c. (#1207) 2020-02-28 16:42:24 +01:00
Rokas Kupstys
0342a3c548 Menus: Implement BeginMenu() appending to existing menu when executed with same ID multiple times. (#1207) 2020-02-28 16:35:33 +01:00
ocornut
898e91f20d Internals: Added TempInputText() to facilitate creation of custom widgets, renamed TempInputTextScalar() to TempInputScalar() etc. (#2718)
+ Minor imgui.h/todo comments
2020-02-25 21:34:02 +01:00
ocornut
e547f898a9 Demo: Added color gradient in demo to identify srgb/linear issues better. Tweaks. 2020-02-24 12:44:19 +01:00
ocornut
02a6c06080 Window: Fixed a bug with child window inheriting ItemFlags from their parent when the child window also manipulate the ItemFlags stack. (#3024) [@Stanbroek]
Amend f843facba4 and 8828889d5e
2020-02-18 14:25:50 +01:00
Omar
8836975dcf Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. (#3025) 2020-02-17 18:28:01 +01:00
omar
ccaec1a270 Version 1.76 WIP 2020-02-11 16:56:56 +01:00
omar
30bb15672d Remove trailing spaces 2020-02-10 23:22:03 +01:00
omar
58b3e02b95 Version 1.75
Comments
2020-02-10 14:02:41 +01:00
omar
d37d25470a Added IMGUI_DISABLE compile-time definition to make all headers and sources empty. 2020-02-09 17:08:33 +01:00
omar
fc42528f13 When testing for the presence of the ImGuiWindowFlags_NoBringToFrontOnFocus flag we test both the focused/clicked window (which could be a child window) and the root window. 2020-01-31 18:28:49 +01:00
omar
fc41839cab Focus: Reworking FocusWindow() so in Docking branch we can fix CTRL+Tab being out of order on Docked windows because WindowsFocusOreder is poorly maintained.
When merging this and d9bca0d8 in Docking we'll replace two ocurrences of RootWindow with RootWindowDockStop.
2020-01-31 18:27:40 +01:00
omar
fb257eef3e Internals: Update ->RootWindow and other links before applying the SetNextWindowXXX stuff. This is so FocusWindow() can always assume that ->RootWindow != NULL. 2020-01-31 18:25:57 +01:00
omar
d9bca0d853 Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. (#787) 2020-01-31 14:42:59 +01:00
omar
47fab0e166 Misc renaming, comments. Docs: add missing spacing to Changelog. 2020-01-31 14:42:59 +01:00
omar
6e1f8be07b Window: Fix SetNextWindowBgAlpha(1.0f) failing to override alpha component. (#3007) 2020-01-30 15:13:36 +01:00
omar
5f4dfad5b7 Merge misc/shallow changes from Docking to reduce drift.
Most are comments. Fix menu bar clipping: 07ff47bf1b
2020-01-28 20:06:34 +01:00
omar
6c1a73774d Tooltip: Testing DragDropWithinSourceOrTarget in BeginTooltipEx() instead of just BeginTooltip() - feel this was an overlook. Added tooltip flags instead of using bool. 2020-01-27 22:02:43 +01:00
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
2020-01-23 14:55:05 +01:00
Ben Carter
051ce0765e AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts 2020-01-23 14:52:48 +01:00
omar
2eda3585e7 Fixed hoverable/focus bug introduced in 3fe6ae97 (#2997)
+ ArrowButtonEx() internal bits.
2020-01-22 15:20:49 +01:00
omar
3fe6ae9732 Internals: Move some Nav functions and members around (no functional change) + Misc comments 2020-01-20 18:19:03 +01:00
omar
2478dbfdb7 Disable warning C5054 introduced in VS 2019 16.2 (#2983) 2020-01-17 14:18:16 +01:00
Loïc Molinari
6c00d1916e Disable format checks when using stb_sprintf.h
STB sprintf allows extra formats like %b or %$d. If ImGui is configured
to use STB sprintf, it generates warnings with GCC and clang when using
such formats because it keeps applying default printf-style warnings.
This commit disables printf-style warnings when using STB sprintf.

Since the printf-style warnings are defined in imgui.h based on the
compiler, IMGUI_USE_STB_SPRINTF can't just be defined in the cpp file
anymore and it's been moved as a proper config in imconfig.h.
2020-01-17 13:27:51 +01:00
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) 2020-01-16 23:44:05 +01:00
omar
f6d6880a61 Internals: Nav: PushFocusScope, PopFocusScope, GetFocusScopeID() helpers 2020-01-14 20:34:26 +01:00
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.
2020-01-14 19:25:20 +01:00
omar
e2eb0b4bc4 Internals: Begin tries to setup WindowTemp/DC members in same order as their declaration. Readme: remove Coverity banner (PVS is better) 2020-01-13 16:50:56 +01:00
omar
02c2d18aa3 Internals: Renaming and marking of legacy focus/tabbing system 2020-01-13 15:21:37 +01:00
omar
52334ad8df Internals: Minor ordering/comments of ImGuiWindowTempData. 2020-01-13 15:04:28 +01:00
omar
ff5299e0e0 Docs: FAQ, Comments. 2020-01-12 22:09:18 +01:00
Rokas Kupstys
97a8dc6514 CI: Added PVS-Studio static analysis on the continuous-integration server. 2020-01-10 16:58:39 +01:00
Rokas Kupstys
ae1e3619f6 Disable some PVS studio warnings.
V1048: While they are technically correct we want to emphasize assigned values must remain same.
2020-01-10 15:20:08 +01:00
omar
f9630e60c5 Metrics: Fix not being able to expand "ParentWindow" when parent window is same as root window. 2020-01-07 21:32:00 +01:00
omar
d581939387 Removed trailing spaces. 2020-01-06 15:24:16 +01:00
omar
22d7f26e06 Tweak wording
Remove Patreon
2020-01-06 12:55:01 +01:00
omar
854fc08194 Amend f70204f2 to facilitate merges. 2019-12-20 16:34:07 +01:00
omar
f70204f2f4 Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking 2019-12-19 16:53:44 +01:00
omar
a610f1da52 Bezier Tweaks, fixed parameter order of 3831d50 2019-12-17 16:43:05 +01:00
Rokas Kupstys
3831d50ab9 Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point. 2019-12-17 16:22:02 +01:00
omar
9d444062f9 Limiting Columns()/BeginColumns() api to 64 columns (#125)
While the current code technically supports it, future code may not so we're putting the restriction ahead.
2019-12-17 13:25:46 +01:00
omar
10fdc03a46 Clarification about Im helpers + moving GetColorXXX functions outside of that block. 2019-12-17 13:19:36 +01:00
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.
2019-12-13 11:56:00 +01:00
omar
6fdde67be2 Documentation, FAQ, todo tweaks 2019-12-10 13:37:29 +01:00
omar
f9c26d23de Removed redirecting functions/enums that were marked obsolete in 1.53 (December 2017).
Comments
2019-12-08 16:38:27 +01:00
Ben Carter
697f15e339 Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count. 2019-12-08 16:06:32 +01:00
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.
2019-12-06 16:29:36 +01:00
omar
6cbed03d4a Comments, clarified mouse button ordering. 2019-12-06 16:29:32 +01:00
omar
b521cd357d Removed implicit default parameter to IsMouseDragging(int button = 0) to be consistent with other mouse functions.
(none of the other functions have it).
2019-12-05 18:33:36 +01:00
omar
8342e5b91a Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
Amend b5cad20d79, 945a509773
+ unrelated minor typos
2019-12-05 15:45:30 +01:00
omar
abaf0256b8 Version 1.75 WIP
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
bdce833636 Version 1.74 2019-11-25 18:38:53 +01:00
omar
26d177bc03 Docs: Moved misc/fonts/README.txt to docs/FONTS.txt. + tweaks 2019-11-25 18:29:28 +01:00
omar
bbe0409942 Metrics: Show wire-frame mesh and approximate surface area when hovering ImDrawCmd. Amend aeb5795.
Internals: Added ImTriangleArea()
2019-11-25 12:01:04 +01:00
Ben Carter
aeb57952d6 Added area calculation for draw lists in metrics
Added ability to hover over a draw list's summary stats and see all the contents in wireframe

(cherry picked from commit fd808347bd68a07ad318af6c151028bc9f7b82e7)
2019-11-25 11:10:00 +01:00
omar
51e2e9b239 ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them. 2019-11-22 14:06:51 +01:00
omar
51a02b319c Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change). 2019-11-21 14:13:17 +01:00
omar
ca63349eb4 Renamed XX-bits -> XX-bit in comments to match what the world appears to be using. 2019-11-20 11:58:25 +01:00
omar
a899c1e570 Internals: Using ImU64 for internal ImFile api so we can later wrap them to fseeko/ftello//_fseeki64/_ftelli64 (#2734) 2019-11-20 10:40:14 +01:00
omar
ecbedc8c26 Tweaks, ammend 93efa54, rename to IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS (#1038) 2019-11-19 21:29:12 +01:00
omar
4e90906b04 Added IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS / IMGUI_DISABLE_FILE_FUNCTIONS #2734)
Using in Emscripten example.
2019-11-19 21:14:44 +01:00
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.
2019-11-19 20:53:17 +01:00
omar
9efaf2828b Doc comments. Removed .ini parsing code from 1.53 that parsed entries without the [Window] tag (which enabled importing an old .ini file) 2019-11-19 19:39:46 +01:00
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().
2019-11-15 16:59:43 +01:00
Tracy Ma
8f40020ca6 Disable Win32 clipboard and IME functions when build target UWP (#2892, #2895) 2019-11-15 12:19:44 +01:00
omar
b23dcab6e1 Fix 25eee91 incorrect assert when ending a child-popup (rarely used but used by sub-nenus) 2019-11-14 16:06:39 +01:00
omar
be436e2b0b Fix HelpMarker() symbol collision for unity builds (#2893) 2019-11-13 22:04:16 +01:00
omar
03852470de Internals: Routing recoverable user errors via IMGUI_USER_ERROR() macro. (#1651) 2019-11-13 21:58:18 +01:00
omar
25eee91542 Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. (#1651)
Internals: Moved some error handling code.
2019-11-13 21:51:38 +01:00
omar
b138f8cbcd Internal: Nav rename preparing for nav inputs ownership changes. IsNavInputPressed() -> IsNavInputTest() 2019-11-13 21:02:25 +01:00
omar
7c441e37fa CI: Update jobs to MacOS latest (Catalina)
Metrics: Added description to Item Picker.
2019-11-13 20:34:55 +01:00
omar
6e8e2c0fa9 Scrollbar: Fixed an issue where scrollbars wouldn't display on the frame following a frame where all child window contents would be culled.
Demo: Fixed a small bug with scrolling demo.
Metrics: Tweaks.
2019-11-08 19:01:54 +01:00
omar
57dc34f4e8 TreeNode: Added IsItemToggledOpen() to explicitly query if item was just open/closed, facilitating interactions with custom multi-selections patterns. (#1896, #1861) 2019-11-08 15:30:15 +01:00
omar
d003674f2c Internals: Added ImChunkStream, used by window settings. (more generic followup to 4c13807, the class will be used more extensively by Tables) 2019-11-07 16:05:03 +01:00
omar
a337e219b6 Internals: ImPool: Renaming. 2019-11-07 16:04:51 +01:00
omar
28f1d60de1 Internals: Renaming + added ImStrSkipBlank() from docking branch.
(cherry picked from commit a573943fa0ce323ffb4080e57f5e8fe1bc777c36)
2019-11-06 23:37:35 +01:00
omar
4c13807b7d Misc: Optimized storage of window settings data (reducing allocation count). 2019-11-05 22:43:53 +01:00
omar
792a8631aa Metrics: Expose basic details of each window key/value state storage. 2019-10-31 14:01:35 +01:00
omar
8fee5a4349 Internals: Renaming for consistency. 2019-10-31 11:15:40 +01:00
omar
d62a413476 Misc: Windows: Do not use _wfopen() if IMGUI_DISABLE_WIN32_FUNCTIONS is defined. (#2815) 2019-10-29 21:47:43 +01:00
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)
2019-10-29 17:05:25 +01:00