Commit Graph

2771 Commits

Author SHA1 Message Date
omar
a77913054f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2018-01-15 18:02:58 +01:00
omar
1182174d81 Internals: DrawData: We don't need an intermediate layer for popups. 2018-01-15 18:00:13 +01:00
omar
0c06b43e6b Metrics: Tweaks to hover-window-drawlist to see window bounding box. 2018-01-15 17:55:38 +01:00
omar
038453258e Internals: DrawData: Refactored chunks into a ImDrawDataBuilder we can reuse. 2018-01-15 17:48:32 +01:00
omar
06eef2ce6f Internals: DrawData: renamed fields only (committing separately so that next commit is less nosiy). 2018-01-15 17:48:32 +01:00
omar
6eff21ee5e Revert "Nav: Fixed RenderNavHighlight() clipping, essentially revert 6ea90af6b7. (#787)"
This reverts commit 03f5cd6ca1.
2018-01-15 16:19:01 +01:00
omar
514d30d8cd MovingWindow: Track click offset based on MovingWindow and not its RootWindow. Followup to 3849bb4470. Comments + adding a local to ease patch #1345. 2018-01-14 14:13:54 +01:00
Crunkle
daa38f2ad0 Fix cross compilers 2018-01-14 03:31:22 +00:00
omar
db63e71f13 Internals: Exposed SetCurrentFont() in imgui_internal.h 2018-01-12 20:07:01 +01:00
omar
1493de4f81 Internals: Merge of harmless stuff from Navigation stuff. Added GetHoveredID() internal helper. 2018-01-12 19:53:27 +01:00
omar
c85d7d6e49 Nav: Remove GetItemID(), hide ActivateItem() before this feature is unfinished and has issue (full feature is on hold). Undo part of 59c6f35bf6 (#787) 2018-01-12 19:28:37 +01:00
omar
c9be7d7254 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2018-01-12 19:21:12 +01:00
omar
0a98202714 Nav: Standardized FIXME-NAV marker. 2018-01-12 19:13:15 +01:00
omar
cc173d7619 Begin: FIx previous commit - no need to call on collapsed window. Handle manual resize (grip, border, gamepad) before setting up window DrawList main clipping rectangle. Sane (and required for viewport code). (#822, #1542) 2018-01-11 23:21:24 +01:00
omar
5e9ae92ae9 Begin: Handle manual resize (grip, border, gamepad) before setting up window DrawList main clipping rectangle. Sane (and required for viewport code). (#822, #1542) 2018-01-11 23:17:34 +01:00
omar
f7b10fc954 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-11 18:18:44 +01:00
omar
6a1011cf53 MovingWindow: Proper fix for 651538e attempt, without altering MovingWindow which has side-effects. Clicking on a window with the ImGuiWIndowFlags_NoMove flags takes an ActiveId so we can't hover something else. (ref #1381, #1337) 2018-01-11 18:16:16 +01:00
omar
b74f24c3e5 Revert "Clicking on a window with the ImGuiWIndowFlags_NoMove flags takes an ActiveId so we can't hover something else. (ref #1381, #1337)"
This reverts commit 651538e13b.
2018-01-11 18:08:14 +01:00
omar
1c95dea88c Merge branch 'master' into navigation 2018-01-11 17:37:02 +01:00
omar
7d2a068dea Begin: Shuffling bits of code around. 2018-01-11 17:33:37 +01:00
omar
cd7e178eac Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-11 16:49:59 +01:00
omar
651538e13b Clicking on a window with the ImGuiWIndowFlags_NoMove flags takes an ActiveId so we can't hover something else. (ref #1381, #1337) 2018-01-11 16:43:03 +01:00
omar
a63fbbca8b Added ImGuiHoveredFlags_AnyWindow, ImGuiFocusedFlags_AnyWindow. Obsoleted IsAnyWindowHovered()/IsAnyWindowFocused() in favor of IsWindowHovered(ImGuiHoveredFlags_AnyWindow)/IsWindowFocused(ImGuiFocusedFlags_AnyWindow). Added to demo. (#1382) 2018-01-11 13:51:18 +01:00
omar
67671c0ab5 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-10 23:11:26 +01:00
omar
1eee10778b Internals: Begin: Refactor some code into an UpdateManualResize() function. 2018-01-10 23:06:51 +01:00
omar
483f9b0d07 Internals: Begin: Moved DrawList setup code below, the viewport system will need to push the outer clipping rectangle as late as possible. 2018-01-10 22:55:29 +01:00
omar
03f5cd6ca1 Nav: Fixed RenderNavHighlight() clipping, essentially revert 6ea90af6b7. (#787) 2018-01-10 18:58:55 +01:00
omar
919fc548ad Merge branch 'master' into navigation 2018-01-10 18:58:26 +01:00
omar
6c583315e6 Begin: Moving some code around for the benefits of the wip viewport branch. 2018-01-10 18:56:51 +01:00
omar
f610e25682 Internals: Using ImFloor().when appropriate. 2018-01-10 18:33:29 +01:00
omar
fe919995da Merge branch 'master' into navigation 2018-01-08 16:35:12 +01:00
omar
933ee6cd5d InputText: Added alternative clipboard shortcuts: Shift+Delete (cut), Ctrl+Insert (copy), Shift+Insert (paste). (#1541) 2018-01-08 16:01:30 +01:00
omar
fd4d63a0c5 InputText: Moved code for checking clipboard shortcut so we can expand on it. (#1541) 2018-01-08 15:56:01 +01:00
omar
168200f915 Popups: Comments, reorganize bits of the header section, renamed parameters. 2018-01-07 18:17:47 +01:00
omar
a8e5542d78 BeginPopup: Exposed extra_flags publicly. (#1533) 2018-01-07 18:13:01 +01:00
omar
3f4eccf154 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-07 16:22:09 +01:00
omar
3fc7cf190d OpenPopup(): Always reopen existing popup. Removed OpenPopupEx() bool reopen_existing which is always true. This also makes the public API on par with OpenPopupEx(). (#1497, #1533) 2018-01-07 16:20:02 +01:00
omar
deab2ab015 Popups: Gently handle the user mistakenly calling OpenPopup() every frame. (when reopen_existing is true). (#1497) 2018-01-07 16:15:54 +01:00
omar
69ff65f054 Internals: Popup: Renaming fields. 2018-01-07 16:11:25 +01:00
omar
3678307cd9 Popup, Menus: Tweaks and comments. 2018-01-07 15:56:14 +01:00
omar
369189b675 Internals: Popup: Explicitely setting up ImGuiPopupRef reduces confusion. 2018-01-07 15:40:46 +01:00
omar
e09852fc49 Popups: Revert aca23fd3f0 (Oct 20, 2017). Because 1) I can't seem to find a default. 2) The if is definitively faulty and would have been all true. 3) It looks like possibly the following commit 6ab737a4bb could have made this unnecessary. Not absolutly certain. (~#439) 2018-01-07 15:34:15 +01:00
omar
63e4677b81 Popup: BeginPopupContextItem(), BeginPopupContextWindow(), BeginPopupContextVoid(), OpenPopupOnItemClick() all react on mouse release instead of mouse click. Note that they don't use the full ButtonBehavior() or tracking aabb on both click and release. Applications I've tried seems to behave inconsistently there but on-release-without-tracking is both fairly common and doesn't require extra code for the id tracking. (~#439) 2018-01-07 15:23:57 +01:00
omar
c337cdcfd3 Internal: ButtonBehavior: Tweak to update g.ActiveIdClickOffset more consistently 2018-01-07 15:02:09 +01:00
omar
7ad169fa09 Merge branch 'master' into navigation + fix previous merge
# Conflicts:
#	imgui.cpp
2018-01-07 14:33:44 +01:00
omar
d730a763f6 Internal: Reworked FocusFrontMostActiveWindow() so it fits the Nav branch usage as well. 2018-01-07 14:32:42 +01:00
omar
66b2ee6ea2 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-07 14:25:05 +01:00
omar
a34490239c Internals: Popup: Separating MousePosOnOpen and PopupPosOnOpen. They are equal in the master branch but different in the navigation branch. 2018-01-07 14:03:56 +01:00
omar
5fd19f037f Internals: renamed FocusPreviousWindow() to FocusfrontMostActiveWindow() 2018-01-07 12:48:11 +01:00
omar
2874aabb93 Internals: BringWindowToFront() iterate front to back, faster in majority of use cases. 2018-01-07 12:48:11 +01:00
omar
95b773370f Revert "Internals: Added LastActiveId, LastActiveIdTimer. (#1537)" Will come up with a better design later.
This reverts commit 007f4034c9.
2018-01-05 17:40:51 +01:00
omar
007f4034c9 Internals: Added LastActiveId, LastActiveIdTimer. (#1537) 2018-01-05 15:33:24 +01:00
omar
29c194b2a4 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2018-01-03 20:47:42 +01:00
omar
4fc9f44073 Merge of minor left-overs from private work branch to reduce drifts. Should be functionally a no-op. 2018-01-03 20:46:54 +01:00
omar
4b1240b2e1 Fixed non-popup child windows not honoring the HiddenFrames flag (can't see a reason). Docking relies on this. 2018-01-03 20:45:24 +01:00
omar
b2ec0741f1 Internals: Settings api tweaks 2018-01-03 20:45:17 +01:00
omar
2b8224692e Merge branch 'master' into navigation 2018-01-03 20:26:24 +01:00
omar
0a0b252bb6 DragDrop: Removed IsDragDropActive() (introduced a few days ago, revert 06bea369c0) as our use case doesn't need it anymore. Will add it if there is a real need. 2018-01-03 17:02:51 +01:00
omar
33f7769d85 Columns: Clear offsets data when columns count changed. (#1525) 2018-01-03 14:38:01 +01:00
omar
f9b2058d5a Internals: Renamed ImGuiSimpleColumns to ImGuiMenuColumns to avoid confusion. Reduced internal buffer size (we only use 3 slots). 2018-01-03 14:35:11 +01:00
omar
05ec0b0736 Casing tweaks + clarify license copyright (simpler/safer?) (#1346) 2018-01-03 14:32:16 +01:00
omar
96ccc484f9 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2018-01-03 12:33:27 +01:00
omar
3c6fbe0849 Renamed ImGuiSizeConstraintCallback to ImGuiSizeCallback, ImGuiSizeConstraintCallbackData to ImGuiSizeCallbackData. 2018-01-03 12:31:56 +01:00
omar
7fcbd45500 Internals: NextWindow: Renamed, moved functions to member. 2018-01-03 12:28:16 +01:00
omar
e339949de1 Internals: NextWindow: Using ImGuiCond for consistency. 2018-01-03 12:22:02 +01:00
omar
04b44398eb Internals: refactored g.SetNextWindow fields into g.NextWindow. structure (so it can be more easily transported/copied) 2018-01-03 12:12:41 +01:00
omar
7e03ee8d85 Merge branch 'master' into navigation 2018-01-02 17:21:49 +01:00
Cory McWilliams
561e9f286e Fix a memory leak of ImGuiColumnsSet's Columns vector. ImVector doesn't call destructors. 2018-01-02 10:46:20 -05:00
omar
170bcb2d7c Internals: NewFrame: Shuffled some code around (to minimize upcoming patches) 2018-01-02 12:48:38 +01:00
omar
7a15fc8de5 Merge branch 'master' into navigation 2017-12-29 18:28:23 +01:00
omar
2dd2ca0096 Removed CalcItemRectClosestPoint() which was weird and not really used by anyone except demo code. If you need it it's easy to replicate on your side.
Removed internal corresponding ImRect::GetClosestPoint() for now.
Essentially revert dcaafffe0e.
2017-12-29 17:59:13 +01:00
omar
c4e6d622c1 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-12-29 13:39:07 +01:00
omar
4fbdb50dca MenuBar: Fixed menu bar pushing a clipping rect outside of its allocated bound (usually unnoticeable). 2017-12-28 23:53:36 +01:00
omar
4ba2e85744 Demo: Tweak. Comments. Metrics: Added some Drag and Drop info. 2017-12-28 23:53:27 +01:00
omar
90ff4ae5d1 BeginPopupModal(): the conditional test for SetNextWindowPos() was polling the wrong window, which in practice made the test succeed all the time. 2017-12-28 23:52:47 +01:00
omar
e985baa35d Combo: When peeking into the popup window for alignment we check if the window was active, which is more correct. (no known issue in current codebase, but we'll need that change for later) 2017-12-28 23:52:42 +01:00
omar
06bea369c0 DragDrop: Added IsDragDropActive() helper which is useful for binding to decide how to handle mouse inputs. 2017-12-28 23:52:37 +01:00
omar
563d04fdb1 TreeNode: node with the ImGuiTreeNodeFlags_Leaf flag correctly disable highlight when DragDrop is active. (#143, #581) 2017-12-28 23:52:31 +01:00
omar
49eed6e2d1 Version 1.54 WIP 2017-12-28 15:17:35 +01:00
omar
436cad4bca Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
2017-12-26 15:37:31 +01:00
omar
d9034bf2d8 ListBox() changed signature of ListBox() to match Combo(). Still not very happy about not using const char** anymore. (#931) 2017-12-26 15:36:55 +01:00
omar
e916310b2e Version 1.53 2017-12-25 17:41:41 +01:00
omar
ed2105d4a2 Merge branch 'master' into navigation 2017-12-25 16:45:27 +01:00
omar
3849bb4470 Moving window doesn't use accumulating MouseDelta so straying out of boundaries keeps moved window at the same spot. 2017-12-25 16:03:58 +01:00
omar
de5c304b49 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-12-24 18:59:40 +01:00
omar
8d54b1b7af Misc comments, removed duplicated IM_ARRAYSIZE macro in imgui_demo.cpp (it is now declared in imgui.h) 2017-12-24 18:59:14 +01:00
omar
1b86e7343f Renamed the emblematic ShowTestWindow() function to ShowDemoWindow(). Kept redirection function (will obsolete). 2017-12-24 18:16:22 +01:00
omar
cead207535 Comments 2017-12-24 17:58:41 +01:00
omar
6c63c7a8b1 Various zealous warning fixes (thanks Clang). (Navigation branch) 2017-12-23 16:40:12 +01:00
omar
ffb4f6ca8c Merge branch 'master' into navigation 2017-12-23 16:27:48 +01:00
omar
9cda86d55a Internals: Added IM_NEW, IM_DELETE helper macros (#1517, #484, #504) 2017-12-23 16:24:33 +01:00
omar
983d8f5f8e Various zealous warning fixes (Clang). 2017-12-23 15:28:49 +01:00
omar
53b24ff79a Removed reliance on ImU64 type for the ImDrawList assert. (#1184) 2017-12-23 15:02:36 +01:00
omar
1f26652944 Various zealous warning fixes (thanks Clang). 2017-12-23 14:07:03 +01:00
omar
1c1e490316 Merge branch 'master' into navigation 2017-12-22 20:21:54 +01:00
omar
46dcd9aa50 Columns: Made PixelsToOffsetNorm() properly symetrical to OffsetNormToPixels() (#125) 2017-12-22 20:21:35 +01:00
omar
471bcf8b5e Columns: Fixed dragging when using a same of columns multiple times in the frame. (#125) 2017-12-22 20:21:02 +01:00
omar
e1a103b251 Drag and Drop: Disable tracking mouse button ownership when an external drag source is active, to make it easier to achieve drag and drop over multiple OS windows. (#143) 2017-12-22 20:20:52 +01:00
omar
8d21ee56d2 ImDrawList, Font: Fixed bug introduced in 531c11d5c7 (#1519) 2017-12-22 20:19:48 +01:00
omar
287380261c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-12-21 19:55:21 +01:00
omar
c8c872c753 Internals: String functions uses size_t in their signature 2017-12-21 19:49:54 +01:00
omar
996dfb21cf ImDrawList: Added ImDrawListFlags for AA settings. ImDrawList doesn't directly depends on GImGui anymore. 2017-12-21 19:49:54 +01:00
omar
d139bd088d Begin: Moved modal darkening draw block 2017-12-21 19:49:54 +01:00
omar
14cb8177d0 ImDrawList: Removed 'bool anti_aliased = true' final parameter of ImDrawList::AddPolyline() and ImDrawList::AddConvexPolyFilled(). Anti-aliasing is controlled via the regular style.AntiAliased flags. 2017-12-21 19:01:53 +01:00
omar
531c11d5c7 ImDrawList: Small refactor toward removing dependency on GImGui + PushClipRectFullscreen now correctly uses data provided by imgui which can takes account of DisplaySize + Removed static variable in PathArcToFast() which caused linking issues to some. 2017-12-21 18:52:34 +01:00
omar
230f826ef5 ImDrawList: Comments 2017-12-21 18:48:09 +01:00
omar
4c2514dc29 Merge branch 'master' into navigation 2017-12-21 11:18:42 +01:00
omar
6193f46af2 Active Modal window always set the WantCaptureKeyboard flag (#744) 2017-12-21 11:18:30 +01:00
omar
b366dd9322 BeginPopup: Moved flags into individual BeginPopupXXX calls/implementations and outside of BeginPopupex(). Removed _NoResize flag which is extraneous with AlwaysAutoResize. 2017-12-20 17:40:58 +01:00
omar
55c0d2b9ab InputText: renamed ImGuiInputTextFlags_DisableUndo to ImGuiInputTextFlags_NoUndoRedo (#1506, #1508) 2017-12-20 16:25:03 +01:00
ibachar
abaf347deb Added a flag for text input to disable undo / redo 2017-12-17 15:27:56 +02:00
omar
b1d90b565d Columns: Fixed previous commit (wrong chunk commited) (#125) 2017-12-15 17:09:41 +01:00
omar
b9391d1692 Columns: Internal: Columns have their no set of flags so NoResize can be setup by internal code. (#125) 2017-12-15 17:06:47 +01:00
omar
6497f5dc1b Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
2017-12-15 11:59:50 +01:00
omar
0c6e260f73 Drag and Drop: Added ImGuiDragDropFlags_SourceExtern to facilitate interfacing with WM_DROPFILES (#143) 2017-12-15 11:17:21 +01:00
omar
6effcf21d6 Drag and Drop: Source can also inhibit the preview on target, useful for extern sources that only exists for one frame. (#143) 2017-12-15 11:17:21 +01:00
omar
51433e26af Drag and Drop: Renamed to ImGuiDragDropFlags_SourceNoAutoTooltip to ImGuiDragDropFlags_SourceNoPreviewTooltip (#143) 2017-12-15 10:15:51 +01:00
omar
eefea0588a Using the ImGuiWindowFlags_NoScrollWithMouse flag on a child window forwards the mouse wheel event to the parent window, unless either ImGuiWindowFlags_NoInputs or ImGuiWindowFlags_NoScrollbar are also set. (#1380, #1502) 2017-12-14 18:42:41 +01:00
Branimir Karadžić
ac8e708c3e Fixed unused variable warning. 2017-12-14 18:14:43 +01:00
omar
45bca7851d Added ImGuiHoveredFlags_RootAndChildWindows helper for consistency with focused flags. (#1382) 2017-12-13 22:30:16 +01:00
omar
cc3192f347 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
2017-12-13 22:09:08 +01:00
omar
f265e16b84 Revert "Scrollbar: Minor simplication of the code using InnerRect data." > Introduced sheering on the scrollbar rectangle because InnerRect isn't setup at this point.
This reverts commit 7ac1583411.
2017-12-13 22:07:18 +01:00
omar
ddbcda8c1b Columns: Column width data is no longer lost while dragging toward the right side. (#1499, #125) 2017-12-13 21:51:23 +01:00
omar
ba71e1c0e4 Columns: Minor stylistic fixes. (#125) 2017-12-13 21:48:56 +01:00
omar
f7c5f420e7 BeginChild() fix using negative sizes as window position because of erroneous clamping. It was hard to notice until we added asserts for it. (#1500) 2017-12-13 19:45:03 +01:00
omar
e8e84a6ad6 Columns: Added internal tracking of a few flag temporarily, to facilitate the work of third-parties who have columns patches. (#125) 2017-12-13 19:26:04 +01:00
omar
4ae5c7e227 Columns: Refactor: Moved ColumnsSet[] to window out of DC as they are persistent data for most + fix for pre C++11 compilers. (#125, #1499) 2017-12-13 19:21:21 +01:00
omar
b016215c80 Columns: Refactor: Not using statestorage lookup anymore. (#125, #1499) 2017-12-13 19:07:09 +01:00
omar
3a31a75e3b Columns: Refactor: Renamed all members. (#125, #1499) 2017-12-13 18:42:06 +01:00
omar
78320aa633 Columns: Refactor: Moved columns data into their own data structure. Minimum changes now to ease diffing. (#125, #1499) 2017-12-13 18:41:51 +01:00
omar
027ffd91ea IsWindowFocused(): oops, that was bound to happen with loosely typed enums (this is sort of why I made both values identical - no direct side effects). 2017-12-12 23:49:04 +01:00
omar
16fb58984f Merge branch 'master' into navigation 2017-12-12 23:41:48 +01:00
omar
90d0b8b58b Navigation: minor sync to reduce drifts between changes 2017-12-12 23:41:20 +01:00
omar
8b59ed0708 Drag and Drop: Exposed some internals. 2017-12-12 23:37:27 +01:00
omar
7c7a7baf76 Merged miscellaneous small stuff (from nav/dock branches). 2017-12-12 23:36:25 +01:00
omar
b174fcc9af Added IsAnyWindowFocused() (from Nav branch). 2017-12-12 23:35:04 +01:00
omar
fa9327ccf8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_draw.cpp
#	imgui_internal.h
2017-12-12 20:44:12 +01:00
omar
d0a1be0de0 Merge branch 'drag_and_drop' 2017-12-12 20:39:52 +01:00
omar
ab049c6fc0 Drag and Drop: Fix merge for IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2017-12-12 20:34:16 +01:00
omar
7faa5b16bb Tweak 2017-12-12 19:15:00 +01:00
omar
3ea5e67ba2 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
2017-12-12 18:47:23 +01:00
omar
02e0a078f4 Begin: Tidying up code to make it more readable. 2017-12-12 18:46:42 +01:00
omar
28bbf1ade6 Fixed ParentWindow setup which broke Modal windows (fix c65124f415) 2017-12-12 18:45:57 +01:00
omar
d561a43a4d Drag and Drop: Drop target infer a fallback ID from the rectangle. Avoid Preview being accepted on drop frame when drop target has no ID. (#143) 2017-12-12 18:17:37 +01:00
omar
e98df91dc4 Drag and Drop: Added ImGuiCol_DragDropTarget (#143, #707) 2017-12-12 15:44:22 +01:00
omar
7ec934f439 Drag and Drop: Comments 2017-12-12 15:33:26 +01:00
omar
052b6021dd Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2017-12-12 15:02:05 +01:00
omar
0a3db267c3 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
#	imgui_internal.h
2017-12-12 14:58:53 +01:00
omar
6190ab0084 Renamed GetItemsLineHeightWithSpacing() to GetFrameHeightWithSpacing() 2017-12-12 14:14:58 +01:00
omar
c22657985a Added GetFrameHeight() function (used to be SmallSquareSize internally) 2017-12-12 14:12:49 +01:00
omar
ee7f1921e8 Internals: Added GetSmallSquareSize() 2017-12-12 14:08:58 +01:00
omar
08b72eb5c0 IsWindowFocused() refactor will flags. (#1382)
Marked IsRootWindowFocused() as obsolete in favor of using IsWindowFocused(ImGuiFocusedFlags_RootWindow).
Marked IsRootWindowOrAnyChildFocused() as obsolete in favor of using IsWindowFocused(ImGuiFocusedFlags_RootAndChildWindows).
2017-12-12 14:07:12 +01:00
omar
c65124f415 Internals: ParentWindow is now NULL for non-child windows and means what everyone expects. 2017-12-12 12:50:43 +01:00
omar
f42d7b89e2 Internals: Removed misleading GetWindowParent() function. + renaming to clear confusing. 2017-12-12 12:50:42 +01:00
omar
4a555d35f0 IsWindowHovered(): split ImGuiHoveredFlags_FlattenChild into separate ChildWindows and RootWindow flags. Allowing more combination and a better symetry with IsWindowFocused() flags. (#1382) 2017-12-12 12:50:42 +01:00
omar
f93945540f Renamed ImGuiTreeNodeFlags_AllowOverlapMode to ImGuiTreeNodeFlags_AllowItemOverlap. (#600, #1330) 2017-12-11 22:42:12 +01:00
omar
45f440bb7d Internals: Renamed ImGuiButtonFlags_FlattenChilds -> ImGuiButtonFlags_FlattenChildren, ImGuiButtonFlags_AllowOverlapMode -> ImGuiButtonFlags_AllowItemOverlap 2017-12-11 22:39:10 +01:00
omar
2b9d8ab91d Merge branch 'master' into drag_and_drop
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-12-11 16:39:27 +01:00
omar
38bfdb357e Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-12-11 16:28:47 +01:00
omar
9fd15defe4 Added an implementation of SetItemDefaultFocus() in the master branch for combo patterns to use and be more forward-compatible. (#787) 2017-12-11 16:19:37 +01:00
omar
d1db229907 Merge branch 'master' into navigation
# Conflicts:
#	imgui_demo.cpp
2017-12-10 19:01:59 +01:00
omar
e3e0326ea9 Exposed BeginCombo() publicly. 2017-12-10 18:08:59 +01:00
omar
eab6333a0b SetNextWindowContentSize() adjust for client->window size, but the fate of borders isn't really clear for now (until now we always tried to make borders not affect layout, so if we want a 200x200 fully visible space with borders and zero window padding user need to include the borders) (#1490) 2017-12-10 17:36:30 +01:00
omar
7ac1583411 Scrollbar: Minor simplication of the code using InnerRect data. 2017-12-10 17:27:37 +01:00
omar
a9b01600ac Internals: window->InnerRect includes removal of borders so it'll be easier to use from other locations. 2017-12-10 17:24:10 +01:00
omar
b75acc21b0 Fix for border under title bar when WindowBorderSize == 0 and FrameBorderSize > 0 2017-12-10 16:48:18 +01:00
omar
f72b002da8 Removed SetNextWindowContentWidth(), prefer using SetNextWindowContentSize(). Kept redirection function (will obsolete). (#246, #519, #1444) 2017-12-10 16:05:47 +01:00
Branimir Karadžić
e23083a080 Fixed warning: logical ‘and’ of equal expressions 2017-12-10 12:15:29 +01:00
omar
0365c524a2 ColorPicker4: Fixed returning true when holding mouse button on the sat/value/alpha locations. (#1489) 2017-12-09 21:25:20 +01:00
omar
a8c7b1a2a2 ColorEdit4: Made IsItemActive() return true when picker popup is active. (#1489) 2017-12-09 21:17:27 +01:00
omar
871a5cecc1 Merge branch 'master' into navigation 2017-12-08 18:32:46 +01:00
omar
c9f0275e22 Combo: Removed ImGuiWindowFlags_ComboBox flag. Moved internal window flags. 2017-12-08 18:32:12 +01:00
omar
457011660e Mouse wheel scrolling doesn't change speed inside Combo box (uses to slow down from 5 to 3) but instead slow down on window that are smaller than the scroll speed. 2017-12-08 18:28:17 +01:00
omar
a263dce2f2 Combo: Cleanup. Removed unrequired uses of the _ComboBox flag (the test in EndChild() is from commit no 1!). We could remove ImGuiWindowFlags_ComboBox soonish. 2017-12-08 17:21:45 +01:00
omar
9ce51ad9f6 Fix bad merge 2017-12-08 15:11:35 +01:00
omar
a6f37287d8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-12-08 15:06:37 +01:00
omar
7ac5f11b29 Standardizing the casing/format of internal window names + Misc comments. 2017-12-08 15:04:06 +01:00
omar
befc58771c Combo: Recycling windows by using a stack number instead of a unique id, wasitng less windows. 2017-12-08 15:03:37 +01:00
omar
e998c7d3e3 Combo: Moved functions (untouched). 2017-12-08 15:03:32 +01:00
omar
a5e9392140 Combo: Added flags to BeginCombo() new api, removed explicit height, default to 8 instead of 7 items, allow popup height constraints via SetNextWindowSizeConstraints(), width expand if contents doesn't fit, popup reposition policy if it doesn't fit. 2017-12-08 15:03:26 +01:00
omar
d9d231dc6b Internals: Renamed CalcSizeFullWithConstraint() to CalcSizeAfterConstraint() which is more appropriate + added explicit parameter to CalcSizeAutoFit() so it can be used externally. 2017-12-08 15:02:17 +01:00
omar
74f42baf3e Fixed scrollbar issue, source size when explicit was read before applying custom size constraints (followup to cc2c023880 etc.) 2017-12-08 15:00:56 +01:00
omar
541dfd7901 Combo: Comments + fixed missing lower window padding. 2017-12-08 15:00:02 +01:00
omar
9872297a84 Internals: Renamed FindBestPopupWindowPos() to FindBestWindowPosForPopup() 2017-12-08 14:59:49 +01:00
omar
7bf85db6c4 Drag and drop: Added COL3F payload for color without alpha overwrite. Exposed standard color payload types in imgui.h (#143) 2017-12-08 12:48:53 +01:00
omar
b6b940c8ee Merge branch 'master' into navigation + removed extraneous g.NavDisableMouseHover test in IsItemHovered()
# Conflicts:
#	imgui.cpp
2017-12-08 09:35:23 +01:00
omar
e118239f69 IsItemHovered() comments (#1382) 2017-12-08 09:34:05 +01:00
omar
553b0fcf8f Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-12-07 21:20:16 +01:00
omar
ca0bb000ad Begin: Factored out a bit of code to CalcSizeContents() 2017-12-07 21:14:54 +01:00
omar
f658edc72a Begin: Remove unnecessary usage of window_is_new flag, as both fields are zero on window creation. 2017-12-07 21:14:49 +01:00
omar
45466a8cf9 Internals: BeginCombo() added dummy ImGuiComboFlags. 2017-12-07 21:14:41 +01:00
omar
97edd42fc0 Indent(), Unindent(): Allow passing negative values. 2017-12-07 21:14:25 +01:00
omar
7f2b9ea4c0 Begin: Minor refactor following fcf652f8ee7267055e331bf7a0133ed477816f27. Merging the if (Collapsed) block with the main one. 2017-12-07 21:14:13 +01:00
omar
8dcc1a8a20 Begin: Sizing fixes regarding uses SetNextWindowSize() on individual axises. 2017-12-07 21:14:00 +01:00
omar
e045eddd77 Minor tweaks. Using ImGuiAxis defines. 2017-12-07 21:13:23 +01:00
omar
92f7bd3605 Fixed 64-bit warnings. 2017-12-07 21:06:15 +01:00
omar
cc2c023880 Fixed scrollbar issue, followup to beda5fc5a0 and 2df8fa95df. 2017-12-07 17:04:53 +01:00
omar
e6215b6ca0 Merge branch 'master' into navigation + merge fix
# Conflicts:
#	imgui.cpp
2017-12-07 16:42:52 +01:00
omar
3c9f9a455e Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended. FIXED TYPO. 2017-12-07 16:36:07 +01:00
omar
8959c64b33 Internals: Cleanup FindBestPopupWindowPos() to be more digestible, since we are bounds to rework the logic there. No functional changes intended 2017-12-07 13:29:14 +01:00
omar
20c7aab60c Exposed GetOverlayDrawList(). (~#545, ~#530) 2017-12-07 12:49:52 +01:00
omar
6deb865f78 Nav: Merge fix. 2017-12-06 17:48:28 +01:00
omar
2fc6a82665 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-12-06 17:44:40 +01:00
omar
8f41508c52 Begin: Move the code that update the Appearing flag above the BeginDocked() branch. 2017-12-06 17:42:28 +01:00
omar
2fc9a2e6e7 Fixed nav branch merge issue. 2017-12-06 15:20:36 +01:00
omar
beda5fc5a0 Fixed scrollbar enable/disable calculation when size is modified programmatically. This is the generalization of the fix in 2df8fa95df. 2017-12-06 15:13:45 +01:00
omar
ecacaf7f2d Lower-right resize grip only appears when hovered. (#822) 2017-12-06 15:13:45 +01:00
omar
3b7e4eaf38 Comments about ImGuiWindowFlags_ResizeFromAnySide. Removed hovering color. May need its own color. (#822) 2017-12-06 15:13:45 +01:00
omar
531e559e49 Windows can be resized from their borders when ImGuiWindowFlags_ResizeFromAnySide is set. (#822) The interaction is currently unsatisfying because we can only reach a window from its inner rectangle (because of HoveredWindow filtering). 2017-12-06 15:13:45 +01:00
omar
e103fe8c1f Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. (#822) 2017-12-06 15:13:45 +01:00
omar
90ae1c59c4 Added ImGuiWindowFlags_ResizeFromAnySide flag and code to resize from any of the 4 corners (only 2 corners enabled). (#822) 2017-12-06 15:13:45 +01:00
omar
729333293c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-12-05 22:56:35 +01:00
omar
0f119865a6 Comments about ImGuiWindowFlags_ResizeFromAnySide. Removed hovering color. May need its own color. (#822) 2017-12-05 22:53:58 +01:00
omar
5686c72bbd Windows can be resized from their borders when ImGuiWindowFlags_ResizeFromAnySide is set. (#822) The interaction is currently unsatisfying because we can only reach a window from its inner rectangle (because of HoveredWindow filtering). 2017-12-05 22:47:20 +01:00
omar
b9dc0caee3 Tweak four-corners resize grip code. Added ImRect::FixInverted() helper. (#822) 2017-12-05 22:44:52 +01:00
omar
2ca4f9e862 Added ImGuiWindowFlags_ResizeFromAnySide flag and code to resize from any of the 4 corners (only 2 corners enabled). (#822) 2017-12-05 22:42:57 +01:00
omar
364251146b Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-12-05 16:15:05 +01:00
omar
77d1a4b636 Fixed a one frame glitch, when window claiming focus themselves on appear, the title bar wouldn't use the focused color on that frame. 2017-12-05 16:12:45 +01:00
omar
16d9fa30b2 Merge branch 'master' into drag_and_drop 2017-12-05 09:21:07 +01:00
omar
5f7cd7fb1c Internals: Splitter Behavior doesn't show a border. (#319) 2017-12-01 17:39:50 +01:00
omar
be6384eb2a Style: Tweaked default WindowRounding value from 9 to 7 (#707) 2017-12-01 17:39:31 +01:00
omar
6ea744d8f4 Drag and Drop: Added DragSource from color square. Added DragTarget on ColorEdit4 widget. (#143) 2017-11-30 16:54:39 +01:00
omar
81cbaef806 Merge branch 'master' into navigation 2017-11-29 23:49:17 +01:00
omar
b513fdce48 Scrolling: SetScrollFromPosY() tweak to match change in a0d53fee81084a547bf21f46e736ea89f79fffb5 with similar desirable jump/discontinuity at each limit to skip the (ItemSpacing>WindowPadding) difference (followup to 0e5b64ecd2, #150) 2017-11-29 23:48:32 +01:00
omar
c36e586cce Style, Scrolling: Fixed padding and scrolling asymetry where lower/right sides of a window wouldn't use WindowPadding properly + causing minor scrolling glitches. 2017-11-29 23:48:32 +01:00
omar
25c159fac8 Internals: Removed unnecessary duplicate scrolling code + added extra infos to Metrics window. 2017-11-29 21:10:59 +01:00
omar
52e475230f Settings: Internals: Renaming. 2017-11-28 23:16:09 +01:00
omar
2e1013a0c6 Settings: Internals: Simplifying code a bit. Creating Settings structure during first save. Windows where ImGuiWindowFlags_NoSavedSettings was late toggled will save settings correctly. (#1000) 2017-11-28 21:04:38 +01:00
omar
7ae71e4984 Settings: Internals: Added FindSettingsHandler() 2017-11-28 21:04:38 +01:00
omar
35eb5c5c99 Settings: Internals: Exposed FindWindowSettings(). Simplified some code. 2017-11-28 21:04:38 +01:00
omar
963259d128 Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings. 2017-11-28 21:04:38 +01:00
omar
63712d5f5c Merge branch 'master' into drag_and_drop 2017-11-28 17:28:45 +01:00
omar
9191b17218 Merge branch 'master' into navigation 2017-11-28 17:28:08 +01:00
omar
4a43632163 Build fix 2017-11-28 17:27:54 +01:00
omar
1a8a7c9d17 Settings: Import old style .ini file 2017-11-28 16:23:46 +01:00
omar
e5ebe42207 Settings: Make ImGuiWindow settings always first in the list. 2017-11-28 10:49:43 +01:00
omar
f3ec608c19 Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h 2017-11-28 10:49:43 +01:00
omar
7e2d0d734c Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing. 2017-11-27 23:57:11 +01:00
omar
d552cabd15 Settings: Internal renaming of structure and fields names. 2017-11-27 23:57:10 +01:00
Emmanuel Benoît
77a310736d Horizontal mouse wheel support
This patch adds support for the horizontal mouse wheel in ImGui. It
affects windows that can be scrolled, as long as the Ctrl key is not
being pressed.

The scrolling speed has been set empirically so that it matches the
scrolling speed on the Firefox browser when the horizontal wheel is
used.

Internally, it adds a MouseHorizWheel to ImGuiIO, which is then used in
NewFrame to scroll the current window.

The SDL/GL2, SDL/GL3, GLFW/GL2 and GLFW/GL3 examples has been modified
to use it.
2017-11-27 20:59:05 +01:00
omar
ade09b9e3c Settings: Basic internal refactor to have functions for saving from/to memory (not exposed) 2017-11-27 19:02:40 +01:00
omar
532f564fd3 ImGuiTextBuffer: Renamed append() helper to appendf(), appendv() to appendfv(). Added reserve(). 2017-11-27 19:02:00 +01:00
omar
d9c5d72962 ImGuiStorage: Added BuildSortByKey() helper to rebuild storage from stratch. 2017-11-24 16:56:17 +01:00
omar
46e994de4e Nav: Do not clear last navigation id stored in a hidden child window. (#787) 2017-11-24 16:55:57 +01:00
omar
4e3c7f1557 Nav: Exposed NavInitWindow() in imgui_internal (#787) 2017-11-24 16:55:49 +01:00
omar
f5c47faee8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-11-24 16:55:31 +01:00
omar
6bd3b45b34 Sisyphus says: tweaked comments about not using old-style OpenGL examples (#1459, #1394 etc.) 2017-11-24 09:23:17 +01:00
stfx
6d3cfba834
Add Slider hover color just like Drag
I feel like there should be hover color options for each different control instead of the grouped frame color to make it usable for everyone. This also would not reduce performance as all controls already check for hover state as required by the ImGUI::IsHoveredItem() API.
2017-11-23 12:37:11 +01:00
omar
7763ab3fcc Menu bar: better software clipping to handle small windows, in particular child window don't have the minimum constraint added in e9a7e73bba so we need to render clipped menus better. 2017-11-22 15:58:20 +01:00
omar
b618629d99 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
2017-11-22 12:34:59 +01:00