Commit Graph

1750 Commits

Author SHA1 Message Date
ocornut
525ef5b357 Nav: Tweaked default highlight clipping (clipped by scrollbar) and removed subtle background (#323) 2016-08-07 15:31:00 +02:00
ocornut
a68132948b Nav: Added ImGuiCol_NavWindowingHighlight into style (#323) 2016-08-07 15:26:04 +02:00
ocornut
6aa8019763 Nav: Fixed bug where pressing NavInput(Triangle) to turn slider/drag into text input would then change subsequent NavActivate as well (#323) 2016-08-07 15:19:29 +02:00
ocornut
e55882f74b Nav: Allow PadLeft to close a menu (#323) 2016-08-07 15:18:04 +02:00
ocornut
c203be94c6 Merge remote-tracking branch 'origin' into 2016-07-navigation 2016-08-07 13:55:59 +02:00
ocornut
6eb35b8a04 BulletText(): doesn't stop displaying at the ## mark 2016-08-07 13:53:41 +02:00
ocornut
8a6d209f68 Nav: Failed movement request with no current NavId fallback to an InitDefaultRequest so that we always land somewhere on first move (#323) 2016-08-07 13:34:25 +02:00
ocornut
5ef8452509 Nav: Comments (#323) 2016-08-07 13:33:15 +02:00
ocornut
cbf24c13ca Merge remote-tracking branch 'origin' into 2016-07-navigation 2016-08-07 12:15:21 +02:00
ocornut
5d1a0a6f77 Removed a handful of obsolete (trivial) function redirection from 1.34 and 1.38 (march-april 2015)
OpenNextNode() -> SetNextTreeNodeOpen()
GetWindowIsFocused() -> IsWindowFocused()
GetItemBoxMin() -> GetItemRectMin()
GetItemBoxMax() -> GetItemRectMax()
IsMouseHoveringBox() -> IsMouseHoveringRect()
IsClipped() -> !IsRectVisible()
2016-08-06 09:48:04 +02:00
ocornut
b8397c2933 Tweak comments (#768) 2016-08-06 09:40:26 +02:00
ocornut
a1521534ba Merge branch '2016-08-generalized_visibility_test' of https://github.com/thedmd/imgui into thedmd-2016-08-generalized_visibility_test 2016-08-06 09:36:24 +02:00
ocornut
af33efb146 Using IM_COL32() for colors in a few spots (#767) 2016-08-06 09:35:05 +02:00
ocornut
a7f6ea592f Moved GetColorU32 out of imgui_internal.h to avoid inlining mess (#759) 2016-08-06 09:22:41 +02:00
Michał Cichoń
7588dfb67e Add ability to test arbitrary rectangle for visibility without need of moving cursor. 2016-08-05 11:47:16 +02:00
ocornut
d85c1be6b6 Nav: Reordered Cancel handling code so you you can leave a child within a popup without closing the popup (#323) 2016-08-04 12:53:46 +02:00
ocornut
c263961f07 Nav: Menu: Allow PadDown to open a menu from a menu bar, PadRight from a menu (#323, #126) 2016-08-04 10:41:33 +02:00
ocornut
dcff032429 Nav: Moving all nav inputs to io.NavInputs[] float array, new enum labelled for gamepad. (#323) 2016-08-03 23:23:04 +02:00
ocornut
c0dcef4e16 Nav: Moving window with nav stick disables mouse hover (#323) 2016-08-03 21:02:27 +02:00
ocornut
36fa2b9523 Nav: DragBehavior removed bogus test (#323) 2016-08-01 22:23:56 +02:00
ocornut
2e52bee12e Merge remote-tracking branch 'origin' into 2016-07-navigation 2016-07-31 17:00:44 +02:00
ocornut
907265d632 Using ImGuiID instead of ImU32 is a few places 2016-07-31 16:48:06 +02:00
ocornut
8b190f1100 Nav: quick tap on NavMenu with no focused window doesn't focus one (holding still does) (#323) 2016-07-31 16:12:01 +02:00
ocornut
e9c881e4de Nav: fixed using NavMenu/windowing select when no window is already focused + cleanup code (#323) 2016-07-31 16:07:58 +02:00
ocornut
1ecbf73c97 Nav: working on early bits of documentation (#323) 2016-07-31 15:41:51 +02:00
ocornut
a154625a56 Nav: Not exposing ImGuiWindowFlags_NavFlattened because it requires much more work (#323) 2016-07-31 13:40:14 +02:00
ocornut
08a28c16ae Nav: Merge FocusedWindow and NavWindow that were basically duplicate at this point (#323) 2016-07-31 13:38:57 +02:00
ocornut
2545d75c3b Tidying up, removed two unnecessary window flags from being exposed in imgui.h 2016-07-31 13:05:13 +02:00
ocornut
b3cba62b80 Nav: Added experiment ImGuiWindowFlags_NavFlattened flag to cross over between parent and non-scrolling child windows (#323) 2016-07-31 12:55:23 +02:00
ocornut
769a1dd748 Nav: No scrolling while using windowing functionalities (#323) 2016-07-31 10:41:41 +02:00
ocornut
a88d189f18 Nav: MoveRequest doesn't affect io.NavUsable so that navigation failure doesn't trigger false positive & not needed (undo part of 3cc1419df) 2016-07-30 23:52:03 +02:00
ocornut
f72e2fd1b1 Merge remote-tracking branch 'origin' into 2016-07-navigation 2016-07-30 23:46:09 +02:00
ocornut
954c890c67 SameLine() with explicit X position is relative to left of group/columns (ref #746, #125, #630) 2016-07-30 23:41:44 +02:00
ocornut
3cc1419df3 Nav: making io.NavActive more suitable for end-user detecting if they should pass inputs to game (#323) 2016-07-30 19:16:41 +02:00
ocornut
cc66731c39 Nav: Calling SetItemDefaultFocus() doesn't make mouse cursor dirty if nav highlight is off (#323) 2016-07-30 19:15:12 +02:00
ocornut
8d0186c82b Nav: programmatic call to SetKeyboardFocusHere() doesn't quality as a nav input (doesn't position mouse) (#323) 2016-07-30 19:08:20 +02:00
ocornut
e2dd48ae65 Nav: Split _NoNav window flag into _NoNavInputs and _NoNavFocus (#323) 2016-07-30 18:06:05 +02:00
ocornut
4c4d750cae Nav: Fixed Collapse icon disappearing when Nav is disabled (since b2aaab873d) (#323) 2016-07-30 18:05:14 +02:00
ocornut
3672105b87 Tidying up 2016-07-30 17:20:59 +02:00
ocornut
04157da291 Nav: first committed pass for manual moving and manual scrolling (after a bunch of attempts) (#323) 2016-07-30 17:18:34 +02:00
ocornut
4309b8c1ed Clarifying that MovedWindow* apply to mouse moving only 2016-07-30 16:25:45 +02:00
ocornut
f2d1472481 Nav: Fixed navigating outside of current scrolling bounds (bug from 0cc20fca83) (#323)
+ spaces
2016-07-30 15:17:12 +02:00
ocornut
efc8858328 ImRect: fixed Clip() function being the other way around (INTERNAL API BREAKING CHANGE- wasn't exposed, hoping nobody uses that) + actually fixes the function behavior. 2016-07-30 14:38:33 +02:00
ocornut
d6ce800a20 Nav: ActiveIdAllowNavMove -> ActiveIdAllowNavDirFlags for more flexibility (nav up/down typically allowed on a single-line text input) (#323) 2016-07-30 14:31:34 +02:00
ocornut
d9d6b0e629 Nav: Renamed private ImGuiNavDir_ enum to use left/right/up/down to be consistent with key enums (#323) 2016-07-30 13:45:46 +02:00
ocornut
cbe03e3108 Nav: CalcListClipping/ImGuiListClipper: fix to ensure we can navigate clipped lists (#323) 2016-07-30 11:22:18 +02:00
ocornut
b3ddae07d1 Nav: not activating widgets with NavActivate when NavMenu is held (#323) 2016-07-30 11:11:17 +02:00
ocornut
b2aaab873d Nav: collapse button is interactve, allow collapsing, tidying up, resize speed takes account of framebuffer scale (#323) 2016-07-30 10:56:52 +02:00
ocornut
4735802096 Shallow tidying up ctrl+wheel scaling code in NewFrame() 2016-07-30 10:26:57 +02:00
ocornut
20a0fde012 Tidying up default clipboard handler for non Windows-OS 2016-07-30 10:02:46 +02:00
ocornut
f34d7ea199 Fixed bad merge 2016-07-29 11:23:04 +02:00
ocornut
5f6f4d0ffc Merge remote-tracking branch 'origin' into 2016-07-navigation 2016-07-29 11:17:13 +02:00
ocornut
7086a17854 InputTextEx: got rid of unnecessary locals. 2016-07-29 11:06:16 +02:00
ocornut
776ea6b946 InputTextEx(): more shallow tidying up, still being cautious with this function 2016-07-29 11:01:06 +02:00
ocornut
666d83b5c7 InputText/IO: Got rid of individual OSX options in ImGuiIO, added io.OSXBehaviors (#473, #650) 2016-07-29 10:56:47 +02:00
ocornut
0ff22dbf0b InputTextEx(): minor tidying up 2016-07-29 10:51:35 +02:00
ocornut
e5b6ddde26 InputText(): minor tidying up/simplification following changes for osx style improvements (#650) 2016-07-29 10:42:08 +02:00
ocornut
802e91f69e Merge branch 'add-osx-homeend-keys' of https://github.com/michaelbartnett/imgui into michaelbartnett-add-osx-homeend-keys 2016-07-29 10:34:01 +02:00
ocornut
aeabda5a5f Navigation: Tap NavMenu to access menu and close buttons, hold to focus/resize (#323)
Introducing a concept of NavLayer to filter navigable items
2016-07-24 14:56:14 +02:00
ocornut
c3aa36d9ab Navigation: Renamed ImGuiKey_NavWindowing to ImGuiKey_NavMenu (#323) 2016-07-24 14:49:16 +02:00
ocornut
175f42420c Navigation: Can nav-out but not nav-in a window with ImGuiWindowFlags_NoNav flag (#323) 2016-07-24 14:41:27 +02:00
ocornut
67feb5ac6c Navigation: comments + moving init block of code above in NavUpdate(), should have no side-effect (committed to simplify next commit) (#323) 2016-07-24 14:15:34 +02:00
ocornut
49ec65b1b5 Navigation: can't manually focus out of a modal window with controller (#323) 2016-07-24 14:00:29 +02:00
ocornut
5cac4926c8 Fixed display of TitleBgActive color on window before a Modal window + modal window availability for navigation (#323) 2016-07-24 13:56:31 +02:00
ocornut
ba43310df1 Navigation: Renaming, shortened some unnecessary long fields names (#323) 2016-07-24 12:46:25 +02:00
ocornut
4bbdaa4e3c Navigation: Moving NavInitWindow() around and making it static (#323) 2016-07-24 11:56:36 +02:00
ocornut
e9d8b48a4c Navigation: Allow to navigate out of text input with direction or NavCancel (#323) 2016-07-23 20:30:44 +02:00
ocornut
2f94563564 Navigation: Collapsed window uses ImGuiCol_TitleBgActive when navigation is active (#323) 2016-07-23 20:09:41 +02:00
ocornut
afadc7cf59 Navigation: Scoring: Improved directional navigation. Not totally cancelling out dx. Better support for zero-spaced items. (#323) 2016-07-23 20:05:17 +02:00
ocornut
e74d96642f Navigation: mouse/popup position gets clamped within visible display (#323) 2016-07-23 19:42:19 +02:00
ocornut
0cc20fca83 Navigation: Scoring uses rectangle as clipped by parent. Fix selectable extending past parent column among other things (#323) 2016-07-23 19:24:56 +02:00
ocornut
2f1fb41579 Navigation: Fixed automatic fallback scrolling from glitching near scroll limits because of miscalculation of SizeContents (#323) 2016-07-23 16:31:23 +02:00
ocornut
ad48309047 Navigation: Fixed using NavWindowed when a menu is open. (#323) 2016-07-23 16:01:27 +02:00
ocornut
2cab404a81 Fixed tooltip positioning issues when using navigation (#323) 2016-07-23 15:44:56 +02:00
ocornut
c2cb2a6928 Gamepad/Keyboard navigation support, initial commit, WIP (#323) 2016-07-20 00:02:59 +02:00
ocornut
4a11cc35b9 Updated code for repeat delay / repeat handling. GetKeyPressedAmount() now returns a count to support fast repeat rate (where DeltaTime > RepeatRate).
Renamed from recently added IsKeyPressed() variant to GetKeyPressedAmount(). (no API breakage, added in branch, bbd3b75609) (#323)
2016-07-19 21:26:36 +02:00
ocornut
88c1966629 Added IsAnyWindowFocused(). Renamed IsMouseHoveringAnyWindow() -> IsAnyWindowHovered(), IsPosHoveringAnyWindow() -> IsAnyWindowHoveredAtPos(), IsMouseHoveringWindow() -> IsWindowHoveredRect() for consistency. Kept inline rediection function. 2016-07-18 18:24:23 +02:00
ocornut
23a81027e8 Comment on invalid comment regarding preserving keyboard focus of a closed window, due to commit 19d02becef. This is probably still what we want. (followup #727) 2016-07-18 18:22:11 +02:00
ocornut
eb405ab375 DragBehavior: Moving code around, in what should be a no-op, to simplify upcoming Nav diff (#323, #180) 2016-07-18 18:22:10 +02:00
ocornut
c816e6c742 Fixed SetScrollX() handling of center ratio (which actually wasn't exposed publicly). (#323, #246) 2016-07-18 18:22:09 +02:00
ocornut
e10ecfe28a BeginChild(): tweak to make the code easier to understand 2016-07-18 18:22:08 +02:00
ocornut
24f79b91bd Style: minor tweak to default color theme to make currently focused window more prominent (#323, #707) 2016-07-18 18:22:07 +02:00
ocornut
068984691e Tab-key focusing inhibited when CTRL is held (#323) 2016-07-18 15:26:05 +02:00
ocornut
267e54cf06 NewFrame(): update activeid data and keyboard before mouse. Should have no side-effects! (So that later we can update Nav between Keyboard and Mouse) (#323) 2016-07-18 15:26:04 +02:00
ocornut
272745bd93 ImGuiIO: initializing fields in the same order as the declaration. 2016-07-18 15:26:03 +02:00
ocornut
848e62bfe0 InputText: don't process keys during the activation frame (this is mostly a workaround to that activation with enter doesn't validate immediately, which is turns triggers an assert in InputScalarAsWidgetReplacement - can't see an issue with changing it this way so trying out) + using local flag clear_active_id to only clear the active id at the end of the frame, which is one of the step that my stash for #701 requires. (#323) 2016-07-18 15:26:02 +02:00
ocornut
57841f417d SliderBehavior, RoundScalar: split into separate functions for usage in upcoming nav commits. Testing power==1.0f without fabsf(). Maybe just use == 1.0f as well? (#323) 2016-07-18 15:26:01 +02:00
ocornut
6f7da2f9f2 Popup: Fixed popup initial frame reading MousePos again instead of the value already stored within the CurrentPopupStack in the previous frame. Doesn't make a big difference here, but will do as gamepad/keyboard navigation will set its own popup position. (#323) 2016-07-18 15:26:01 +02:00
ocornut
91e1c56da6 Minor bits. 2016-07-18 15:25:59 +02:00
ocornut
bbd3b75609 Added IsKeyPressed() with explicit repeat delay and repeat rate (for usage by nav) (#323) 2016-07-18 15:25:58 +02:00
ocornut
9f92cc255b SetActiveId() sets ActiveIdIsJustActivated only when id changes. (#323) 2016-07-18 15:25:57 +02:00
ocornut
ffdd7d7f17 Begin: Moved code that calls FocusWindow() on a newly appearing window lower in the function so that Nav branch can use CursorStartPos on the first window frame. (#323)
Pushing in master because it _should_ be a no-op but I'd rather test for any issue in Begin() as soon as possible.
2016-07-18 15:25:44 +02:00
ocornut
19d02becef Closing the focused window restore focus to the first active root window in descending z-order (part of #727) 2016-07-17 19:17:49 +02:00
ocornut
e215905765 Fixed scrolling offset when using SetScrollY(), SetScrollFromPosY(), SetScrollHere() with menu bar.
Tests:
a) add SetScrollY(+20) after Begin("ImGui Demo") test with/without title/menu.
b) add ImGuiWindowFlags_MenuBar in BeginChild() in scrolling tracking demo.
2016-07-16 18:12:41 +02:00
ocornut
44a13a7f25 Windows: No default IME handler when compiling using GCC. (#738) 2016-07-16 11:29:41 +02:00
ocornut
04b36bc397 TODO list 2016-07-14 13:38:44 +02:00
ocornut
81036ee46f InputTextMultiline(): fix so that IsItemActive() can be used afterwards (otherwise the info was lost by using child/group) 2016-07-14 13:27:14 +02:00
ocornut
88721118fd InputTextEx: comments (related to #725) 2016-07-13 01:54:29 +02:00
ocornut
d9e2e688e9 InputTextMultiline(): partial fix for when input and internal buffers differs in a way where scrollbar existence differs. (#725)
Partial fix, won't stop ids from functioning because of a zombie id.
2016-07-13 01:18:59 +02:00
Michael Bartnett
921fc50c85 add shortcut+backspace support 2016-07-07 13:03:00 -04:00
Michael Bartnett
86f42b5950 osx uses super+arrows for home/end, built on work in ocornut/imgui#473 2016-07-07 13:02:52 -04:00
ocornut
5525c2356a Using GetCurrentWindowRead() instead of GetCurrentWindow() 2016-06-29 10:30:42 +02:00
ocornut
fe7274b6c7 SetCursorScreenPos() fixed not adjusting CursorMaxPos as well 2016-06-29 10:25:47 +02:00
ocornut
b9b3dec7da ImGuiListClipper: Fix to behave within column (#661, #662, #716) 2016-06-29 10:19:01 +02:00
ocornut
74bbfcfaa6 ImGuiListClipper: fixed automatic-height calc path dumbly having user display element 0 twice (#661, #716)
First bug out of two. Was easily visible using e.g. 50% alpha text.
2016-06-29 10:07:36 +02:00
ocornut
297bb3fc92 NextColumn() tidying up with a sane early out 2016-06-29 09:53:02 +02:00
ocornut
ba7acdac47 Added assert to track stb_textedit.h issue (#715) 2016-06-27 12:59:49 +02:00
ocornut
c36fd541ad InputTextMultiline(): Fixed Ctrl+DownArrow moving scrolling out of bounds 2016-06-27 09:56:45 +02:00
ocornut
e06852abaf Fixed Windows default clipboard leaving its buffer unfreed on application's exit. (#714) 2016-06-26 13:24:30 +02:00
ocornut
de61fcc619 Minor bits 2016-06-25 17:03:49 +02:00
ocornut
355dae5d99 Comments amend 3c8e490778 (committed before saving last comment edit) (#703) 2016-06-25 14:37:14 +02:00
ocornut
3c8e490778 Comment on dealing with io.WantCaptureKeyboard (#703) 2016-06-25 14:28:58 +02:00
ocornut
13615a1318 InputText: render currently edited buffer from the internal buffer, toward #701 2016-06-25 13:57:05 +02:00
ocornut
2f4e2eec68 InputText, ImGuiTextFilter: using strncpy instead of printf("%s"). 2016-06-25 13:54:34 +02:00
ocornut
4621b357c1 Wrapped text: fixed incorrect testing for negative wrap coordinates, they are perfectly legal. (#706) 2016-06-19 12:50:22 +02:00
ocornut
92bff4c8d7 ColorEdit4(): better preserve inputting value out of 0..255 range, display then clamped in Hexadecimal form 2016-06-16 23:09:48 +02:00
ocornut
9cb271f4c8 Fixed minor text clipping issue in window title for when using font straying above usual line (#699) 2016-06-15 23:09:40 +02:00
ocornut
c4db79f34b Member variable name renamed "ID" "Id" for casing consistency 2016-06-12 22:27:15 +02:00
ocornut
9f21c7189f TextUnformatted() fixed clipping bug in the large-text path when horizontal scroll has been applied (#692, #246) 2016-06-12 12:23:16 +02:00
ocornut
d79186931e ImDrawList: Fixed a (rarely occuring) bug with merging with previous command + unnecessary OverlayDrawList command 2016-06-11 15:42:10 +02:00
ocornut
3fd3eac370 Fixed TextWrapped() override wrap position is one is already set (#690) 2016-06-11 10:23:37 +02:00
ocornut
8291d7dc7c Fixed minor bug introduced in 45dacbf084 (#682)
Actually minor because nobody uses that value. Still a terrible
bug.
2016-05-31 22:34:48 +02:00
ocornut
d1c073a199 Comments, tweaks 2016-05-31 00:00:44 +02:00
ocornut
254a1a9e4c InputText: Added support for CTRL+Backspace. 2016-05-30 20:00:20 +02:00
ocornut
5d4cf1c3f3 Version 1.50 WIP 2016-05-30 19:38:36 +02:00
ocornut
adb85d800d Version 1.49 2016-05-29 19:16:44 +02:00
ocornut
0fb51b6b4b Removed various superflous ImGui:: prefixes in internal code 2016-05-29 18:58:41 +02:00
ocornut
9886c1b43d Undo modification of ContentsRegionRect.Max, too many side-effects (undo dff078365f) 2016-05-29 18:37:26 +02:00
ocornut
dcef7dedce Comments (#590) 2016-05-29 18:24:02 +02:00
ocornut
784e1ef053 CollapsingHeader() with close button adapt to horizontal scrolling (#600) 2016-05-29 18:12:25 +02:00
ocornut
dff078365f Fix selectable/tree node not reaching right-side of contents size when horizontal scrolling is active and no explicit size is known 2016-05-29 18:08:51 +02:00
ocornut
45dacbf084 Fixed GetWindowContentRegionMax() being off by ScrollSize amount when SizeExplicit is set + caching ContentsRegionRect.
Relates to horizontal scrollbar, explicit contents size
2016-05-29 17:50:23 +02:00
ocornut
d5a12866fe Comments (#676, #655) 2016-05-29 14:00:35 +02:00
ocornut
1483a69c11 Demo: Tree: showing how to align tree node label with current x position (#324, #581) 2016-05-28 19:30:01 +02:00
ocornut
61c294bb52 Added optional Indent() Unindent() width (#324, #581) 2016-05-28 18:40:00 +02:00
ocornut
a0a48f6e59 Added TreeAdvanceToLabelPos() (#581) 2016-05-28 18:15:54 +02:00
ocornut
806a146198 TreeNodeEx(): ImGuiTreeNodeFlags_AlwaysOpen->ImGuiTreeNodeFlags_Leaf, + added ImGuiTreeNodeFlags_Bullet (#324, #581) 2016-05-28 17:12:13 +02:00
ocornut
8f4b123e1b SetNextWindowSizeConstraint -> SetNextWindowSizeConstraints (#668) 2016-05-28 14:02:14 +02:00
ocornut
213025f3cd BeginMenu: a menu that becomes disabled when open gets closed down, facilitate user's code (#126) 2016-05-28 11:14:02 +02:00
ocornut
65b1ae6ecc Comments (#335) 2016-05-22 10:20:58 +02:00
ocornut
3a776d93f2 Fixed compile issue (bloody git stashes) (#668) 2016-05-21 23:03:21 +02:00
ocornut
b7ebeb1610 Added SetNextWindowSizeConstraint() + demo code (#668) 2016-05-21 22:53:08 +02:00
ocornut
713730af0c Minor sizing refactor, should be no-op. Making it a commit for further bisection since sizing code is super brittle. (#668) 2016-05-21 20:55:28 +02:00
ocornut
102d03a7eb Resizing window doesn't rely on MouseDelta anymore, but rather recompute expected size based absolute mouse coords. (#668)
Storing ActiveIdClickOffset to generalize pattern already used by
columns.
2016-05-21 20:50:15 +02:00
ocornut
81bf5aeb09 Minor bits 2016-05-21 20:07:51 +02:00
ocornut
1dfafeb602 CheckStacksSize() added literal strings in IM_ASSERT calls to reach end-user on common failure 2016-05-17 09:36:27 +02:00
ocornut
0e51f91c5e Including limits.h again to get INT_MAX, assuming previous report of missing limits.h was erroneous (#1, yes, issue ONE!) 2016-05-16 20:27:52 +02:00
ocornut
69a29e4715 Added NewLine() (very shy reminder that #97 isn't done) 2016-05-16 20:14:07 +02:00
ocornut
47d10944a5 Build fix 2016-05-16 20:07:02 +02:00
ocornut
f291f2c5dd InputText(): Fixed cursor rendering on first character when framepadding is 0.0 (following #601) 2016-05-16 19:44:03 +02:00