Commit Graph

1064 Commits

Author SHA1 Message Date
ocornut
73db855c77 InputTextMultiline() painfully merged most computation passes into one, better clipping, much faster for large text (#200) 2015-06-18 23:23:20 -06:00
ocornut
84987ac3e0 ImFont::RenderText() better vertical clipping for large amount of text (for #200) 2015-06-18 23:08:42 -06:00
ocornut
324b1c2a28 InputTextMultiline(): made ctrl+up/down closer to windows behavior (#200) 2015-06-18 22:35:08 -06:00
ocornut
c4720ec90f InputTextMultiline() fixed a frame of lag in handling vertical scrolling (#200) 2015-06-18 21:20:15 -06:00
ocornut
cd27f8a8e6 InputText(): adjusting selection block height differently for single and multi-line (#200) 2015-06-18 21:01:56 -06:00
ocornut
b524c59c70 InputText(): removed a call to strlen() in the active edit path (#200) 2015-06-18 20:49:20 -06:00
ocornut
2b68a5c0cf InputTextMultine() optimised height calculation for inactive multi-line edit box (#200) 2015-06-18 19:09:04 -06:00
ocornut
86666489df ImFont: CalcTextSizeA() fixed font scaling with fallback character. 2015-06-18 18:31:49 -06:00
ocornut
c6d77f3bf5 InputText: fixed handling of scaled font. re-organized bits of code toward merging all sizes calculations (#200) 2015-06-18 18:31:13 -06:00
ocornut
10b4fa44c1 Fixed framerate counter averaging buffer size (shouldn't have been included in previous commit) 2015-06-18 17:45:11 -06:00
ocornut
26d2b361d1 InputText(): removed extraneous CalcTextSizeW call for tracking cursor/scrolling, remove spike (#200) 2015-06-18 17:40:51 -06:00
ocornut
5f362cabe9 InputText(): char width calculation calls font->GetCharAdvance() directly (#200) 2015-06-18 17:11:20 -06:00
ocornut
60079988bd ImFont::RenderText() faster handling of rendering above clipping rect (useful for #200) 2015-06-18 12:41:48 -06:00
ocornut
846cfc74a2 InputText() clear selection when using undo/redo (#200) 2015-06-18 12:32:55 -06:00
ocornut
d30e8f38b7 InputText() tidying up (#200) 2015-06-18 12:29:43 -06:00
ocornut
8fbb4a566a InputTextMultiline() preserve activeid/cursor/selection when using scrollbar + tidying up (#200) 2015-06-18 11:57:43 -06:00
ocornut
9180126db6 Speeding up some wchar<>UTF8 functions and some specialization for Ascii. (testing 500 KB text for #200) 2015-06-18 11:30:10 -06:00
ocornut
c06373de93 Cleanup 2015-06-18 10:40:11 -06:00
ocornut
d0ea5942a9 InputTextMultiline() can clip + BeginChildFrame() returns bool. (#200) 2015-06-18 08:49:57 -06:00
ocornut
9c399ee3be Demo for InputTextMultiline() (#200) 2015-06-17 18:36:06 -06:00
ocornut
b0e8643523 Demo for InputTextMultiline() (#200) 2015-06-17 18:31:15 -06:00
ocornut
490e9e42ff InputText(): shallow tweaks (#200) 2015-06-17 18:14:25 -06:00
ocornut
5e323561be InputTextMultiline() fixes, vertical scrolling, optimizations (#200)
Using a child window for multi-line text.
2015-06-17 17:07:49 -06:00
ocornut
3df91b52ea Increased key repeat rate for non-character input key repeat.
Dodgy - we should have a match here for character input and
non-character input (e.g. holding 'a' vs holding 'backspace' should be
same rate), but for the earlier we don't have the info?
2015-06-17 16:02:50 -06:00
ocornut
7dc5228235 InputText: doesn't reset scrolling when active text input becomes bigger than its content. (#200)
Mostly because it's expensive.
2015-06-17 15:49:18 -06:00
ocornut
f75b8c72cf InputTextMultiline(): vertical scrolling wip, selection rendering fix (#200) 2015-06-16 21:53:04 -06:00
ocornut
417a7bc29b InputTextMultiline(): multi-line selection draw fix (#200) 2015-06-16 21:19:47 -06:00
ocornut
f1dfc4d7c4 InputTextMultiline(): multi-line selection draw fix (#200) 2015-06-16 21:17:02 -06:00
ocornut
917a1fdbf7 InputText() fixing cancel (#200) 2015-06-16 21:08:54 -06:00
ocornut
73491e5adc InputText() lifted 1024 characters limit (#200)
Bit messy & not happy with using ImVector<char>
2015-06-16 21:04:27 -06:00
ocornut
0795a60c6b InputText() fixed multi-line selection clipping. (#200) 2015-06-16 20:35:46 -06:00
ocornut
ec7c1834b3 InputTextMultiline() tabbing to a multi-line edit doesn't select all (unless ImGuiInputTextFlags_AutoSelectAll is set), somehow arbitrary (#
Seems reasonable
2015-06-16 20:25:08 -06:00
ocornut
6d31c498c0 InputText: multi-line selection, better scrolling, cleaning up (#200)
Not horizontally scrolling on char boundaries anymore
2015-06-16 20:14:54 -06:00
ocornut
d06ad43dca ImFont::RenderText() additional early out (typically performed at TextUnformatted() level for large chunks but this is also useful) (#200) 2015-06-16 17:50:55 -06:00
ocornut
748837acfd Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.h
2015-06-16 17:23:28 -06:00
ocornut
a248575dea Text rendering can be finely clipped cpu-side on top and left axises (for #200) 2015-06-16 17:21:07 -06:00
ocornut
9765559a28 Merge remote-tracking branch 'origin' into 2015-06-multiline_textedit
Conflicts:
	imgui.cpp
2015-06-16 15:59:28 -06:00
ocornut
34986771b4 Moved InputFloat() InputInt() below InputText() and not in the middle of internal bits 2015-06-16 15:57:04 -06:00
ocornut
0df7b472c2 InputTextMultiline() WIP - still gazillion problems with selection visualisation & scrolling 2015-06-16 15:46:45 -06:00
ocornut
b360c83e92 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering 2015-06-14 20:29:10 -06:00
ocornut
7d860a0181 Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives
Conflicts:
	imgui.cpp
2015-06-14 20:28:19 -06:00
ocornut
6eb1fec7a9 ImFont: added GetCharAdvance() helper. Exposed font Ascent and font Descent. 2015-06-14 17:30:06 -06:00
ocornut
b503e5ee5b ImageButton() changed default bg_col parameter from (0,0,0,1) black to (0,0,0,0) tranparent + drawing frame even when no padding (#243) 2015-06-14 16:18:22 -06:00
ocornut
4f0fa58ff2 Selectable() changed prototype moved flags before size. size override should rarely have been used! sorry. #125 2015-06-14 15:19:47 -06:00
ocornut
cf481e1a7b Selectable() added flags ImGuiSelectableFlags_DontClosePopups , ImGuiSelectableFlags_SpanAllColumns (#125) 2015-06-14 12:41:40 -06:00
ocornut
2bcafc861e SelectableEx - replaced unnecessary extra size_draw parameter by a flag. 2015-06-13 14:20:02 -06:00
ocornut
96496ced5f Metrics windows display storage size 2015-06-11 16:04:06 -06:00
ocornut
039418f393 ColorButton(), ColorEdit4(): colored square stays square, used vertical padding on both axis. 2015-06-09 14:39:27 -06:00
ocornut
6bb06fdb81 Selectable, MenuItem: don't use frame rounding for hovering/selection. 2015-06-09 14:32:37 -06:00
ocornut
3fd4441f70 SetScrollPosHere() fixed imprecisions 2015-06-09 13:14:22 -06:00
ocornut
3ca54ad369 SetScrollPosHere() takes account of item height + more accurate centering 2015-06-09 12:57:27 -06:00
ocornut
e8422f7aa0 SetScrollPosHere() rewrote to that window size is not required at the time of calling, can be used on frame 0 of an auto-resizing window 2015-06-09 12:49:13 -06:00
ocornut
8c86322068 Combo() now using the popup facility. More consistent + when combo open hovering other widgets is disabled. (#241) 2015-06-09 12:35:55 -06:00
ocornut
6f1dd7a688 Allow Set*WindowSize() calls to be used with popups (fix for using e.g. scroll function on the first frame) 2015-06-09 12:32:19 -06:00
ocornut
6807546caf Allow Set*WindowSize() calls to be used with popups. 2015-06-09 11:35:29 -06:00
ocornut
4536668482 Fixed issue with activating a Combo() not taking active id (#241) 2015-06-09 10:09:12 -06:00
ocornut
20088303e9 ImFont: ignoring \r 2015-06-04 12:26:23 +01:00
ocornut
eb75ffdc5d DragFloat(), SliderFloat() Fixed rounding of negative which sometimes made the negative lower range unreachable. 2015-06-03 15:31:08 +01:00
ocornut
0e04dfbad7 Added IsWindowHovered() helper. 2015-06-02 20:57:29 +01:00
ocornut
9928d19af1 Version 1.41 WIP 2015-06-02 14:41:14 +01:00
ocornut
82d4180f39 Bits of TODO list 2015-05-31 21:15:35 +01:00
ocornut
931b8dcdaf Version 1.40 2015-05-31 19:31:02 +01:00
ocornut
a76eea85c8 Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	imgui.cpp
2015-05-31 16:59:01 +01:00
ocornut
ade7661b3f Merge remote-tracking branch 'origin' into 2015-03-antialiased-primitives 2015-05-31 16:57:43 +01:00
ocornut
8738147aee Windows: pragma link with user32.lib if we are using native clipboard function (unless IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS) #238 2015-05-31 15:55:32 +01:00
ocornut
1c2dac2a90 Version increased to 1.40 WIP makes more sense than 1.39 (changelog is huge) 2015-05-31 14:46:28 +01:00
ocornut
04e91500c5 Comments 2015-05-31 14:03:07 +01:00
ocornut
374d160234 BeginPopupContextWindow() in_empty_space_only -> !also_over_items (#126)+ comments
Sorry if you used this parameter already.
2015-05-31 12:55:12 +01:00
ocornut
bda0269133 ListBox() uses ImGuiListClipper helper, faster for large lists, assume evenly sized items. 2015-05-31 12:35:21 +01:00
ocornut
eb4ffd5dbd Added ImGuiListClipper helper to avoid using CalcListClipping() directly. 2015-05-31 12:33:24 +01:00
ocornut
446d8abfb0 ListBoxHeader() can return false. Also made ListBox() only use public API. 2015-05-31 11:54:00 +01:00
ocornut
df37df821e RetWindowCollapsed() to IsWindowCollapsed() for consistency. Kept inline indirection. 2015-05-31 11:52:57 +01:00
ocornut
0539be7067 Added IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2015-05-31 11:17:58 +01:00
ocornut
03ff2faacb Comments 2015-05-31 11:01:22 +01:00
ocornut
9417df2a26 Renamed IsRectClipped to IsRectVisible for consistency. Note that return value is opposite! Kept inline redirection function (will obsolete) 2015-05-31 09:12:07 +01:00
ocornut
5ea23977f7 Fixed uninitialized fields in constructor - wouldn't have caused a problem (thanks Coverity!) 2015-05-29 14:54:33 +01:00
ocornut
f1f3424cdd Popups WantCaptureMouse active when popups/menus are active + using tracked mouse button ownership when mouse down (#126) 2015-05-29 11:42:35 +01:00
ocornut
73d1126bf4 Examples: OCD tweaks, a sign that we are near the release! 2015-05-29 11:15:24 +01:00
ocornut
448b262b37 Examples: Comments. 2015-05-29 11:11:50 +01:00
ocornut
83770e5e40 Examples: Tweaks. Usnig sprintf() in user-copiable code. 2015-05-29 11:05:17 +01:00
ocornut
0db6bac590 Examples: Tweaks, demo code creating graph data actually creates data at the correct rate. 2015-05-29 11:01:53 +01:00
ocornut
9ace617e7e Examples: Tiding up. Moved Dragging example higher up. 2015-05-29 10:52:45 +01:00
ocornut
616a7e6c61 Examples: Using a helper function for ? markers 2015-05-29 10:44:30 +01:00
ocornut
d86785ac98 Examples: Fixed Simple Layout example always showing. Using BeginPopupContextItem(). 2015-05-29 10:36:33 +01:00
ocornut
4144c59ce4 Added Simple Layout example applet 2015-05-29 10:29:26 +01:00
ocornut
15a26a479b Fixed auto-filling child window using WindowMinSize at their minimum size, irrelevant. Using an arbitrary small number instead. 2015-05-29 10:24:03 +01:00
ocornut
f0781d3a24 Added GetItemsLineHeightWithSpacing() helper. 2015-05-29 09:00:34 +01:00
ocornut
aaefe462bb Popups: calling OpenPopup() on already open popup doesn't close it's child (#126)
Fixed previous commit.
2015-05-28 23:47:01 +01:00
ocornut
78dc54ab3d Popups: calling OpenPopup() on already open popup doesn't close it's child (#126)
It think it makes more sense? Maybe?
Note that calling OpenPopup() every frame probably doesn't make sense.
2015-05-28 23:37:11 +01:00
ocornut
7847100ad8 Tweak BeginMenu() code 2015-05-28 23:14:25 +01:00
ocornut
733e079081 Moved CloseInactivePopups() and tweaked. 2015-05-28 23:04:29 +01:00
Branimir Karadžić
123fd73c8c Merge remote-tracking branch 'upstream/master' 2015-05-27 22:01:37 -07:00
Branimir Karadžić
cd9244ab15 Define STBTT_DEF extern when STBTT not compiled with ImGui. 2015-05-27 16:12:52 -07:00
ocornut
dcc7df2b21 Added BeginPopupContextVoid() helper for completeness (#126) 2015-05-27 23:28:53 +01:00
ocornut
235cca4f97 Fix to allow opening popup from a left-click on void or another window (because left-click would normally override focus immediately) (#126)
Neither appears to be really useful frankly.
2015-05-27 23:24:39 +01:00
ocornut
1cb6a294b0 BeginPopupContextWindow() rearranged and clarified parameters (#126) 2015-05-27 23:07:24 +01:00
ocornut
b0a9bbf6f6 Popup taking focus deactivate focused widget of other window (#126)
e.g. focus InputText(), open contextual popup, input text used to stay
focused
2015-05-27 22:58:49 +01:00
ocornut
f8b7d5c76d Tracking ActiveIdWindow along with ActiveId 2015-05-27 22:53:43 +01:00
ocornut
938528e5ee Added BeginPopupContextItem() / BeginPopupContextWindow() (#126) 2015-05-27 22:36:23 +01:00
ocornut
5b0861768e Fixed GetId()/BeginPopup() accessing current window in "append" mode 2015-05-27 22:26:03 +01:00
ocornut
8c4c421f74 Added IsAnyItemHovered() public helper. 2015-05-27 22:02:12 +01:00
ocornut
70f2ff0e5a No minimum size for popups 2015-05-27 21:59:02 +01:00
ocornut
99ff45ad2e Tweak context menu example 2015-05-27 21:42:16 +01:00
ocornut
90db64d4e3 Added context menu example on a DragFloat widget 2015-05-27 21:39:41 +01:00
ocornut
487500d291 Tweaks 2015-05-27 16:03:44 +01:00
ocornut
7d28fe5915 WIP Menus: Reverted f26de46350 for now (#126) 2015-05-27 15:51:50 +01:00
ocornut
d05c1d58c3 Oops 2015-05-27 15:44:07 +01:00
ocornut
405785ea62 ItemWidthStack can be empty, to remove one allocation per window 2015-05-27 15:42:29 +01:00
ocornut
0a7024c198 Store common stacked settings contiguously in memory to reduce cache misses & unnecessary heap allocations 2015-05-27 15:35:49 +01:00
ocornut
3d36c81241 Added PushButtonRepeat() / PopButtonRepeat(). REMOVED third 'repeat_if_held' parameter of Button() ! 2015-05-27 15:22:09 +01:00
ocornut
d69f2f57ee Added configurable io.KeyRepeatDelay, io.KeyRepeatRate 2015-05-27 15:17:44 +01:00
ocornut
904e187f70 Simplified some widget code, moving alignment to RenderTextClipped() 2015-05-27 14:39:41 +01:00
ocornut
3c264827fd Reordering parameters of internal RenderTextClipped() 2015-05-27 14:24:52 +01:00
ocornut
f841097e99 Button centering left to RenderTextClipped function. 2015-05-27 14:20:50 +01:00
ocornut
f26de46350 Button() closes active popup (#126) unsure about that 2015-05-27 09:28:44 +01:00
ocornut
e6ac9e88aa Refactor Button() and SmallButton() into a shared function ButtonEx() 2015-05-27 09:22:30 +01:00
ocornut
843219daec Spacing + untabify 2015-05-26 22:14:07 +01:00
ocornut
7b8b5754bc EndGroup() carries on the text base offset from the last line of the group (sort of incorrect but better than nothing) 2015-05-26 22:13:07 +01:00
ocornut
6f32684f15 Examples: various usage comments. 2015-05-26 21:36:44 +01:00
ocornut
15113f682e Added TextDisabled(), TextDisabledV() helpers. 2015-05-26 21:10:16 +01:00
ocornut
3a6e6645e6 WIP Menus: Fixed remaining inconsistency with stacks of popups. Activating/closing a menu close the parent popup. Added test case. (#126) 2015-05-26 20:33:48 +01:00
ocornut
90cf77b191 Merge remote-tracking branch 'origin' into 2015-05-menus 2015-05-26 18:03:46 +01:00
ocornut
6b3ccd3edf WIP Menus: Added support for disabled sub-menu (#126) 2015-05-26 18:02:42 +01:00
ocornut
0db122bc3b Comments. Examples: added empty if (MenuItem()) {} statements in more places to better document the typical use cases (#126) 2015-05-26 17:48:28 +01:00
ocornut
fdce095101 Comments 2015-05-26 17:27:35 +01:00
ocornut
d009a85de4 WIP Menus: Implement amazon's dropdown-like triangle test for navigating sub-menus (#126) 2015-05-26 17:09:21 +01:00
ocornut
63a39dd08e WIP Menus: Recursive menu demo (#126). Actually useful to test sub-menu positioning. 2015-05-26 16:14:51 +01:00
ocornut
cdb5e16f70 SelectableEx: use flags internally (similar to ButtonBehavior) 2015-05-26 16:12:40 +01:00
ocornut
4eeba016f6 WIP Menus: Closing sub-menu when hovering something else in the same parent window (#126)
Immediate open/close is error-prone
2015-05-26 15:01:04 +01:00
ocornut
83b10f77a9 Comments 2015-05-25 23:47:59 +01:00
ocornut
98540370a0 WIP Menus: Layout in menu-bar tweaks to lay better when mixed widgets (#126) 2015-05-25 23:15:00 +01:00
ocornut
bb8cdcb916 WIP Menus: Layout in menu-bar more standard, allows mixing different widgets in menubar. (#126)
Still some minor spacing bugs.
2015-05-25 23:08:22 +01:00
ocornut
83cb040d20 Selectable: text baseline alignment for line that aren't of text height. 2015-05-25 23:03:16 +01:00
ocornut
44ed5640d3 WIP Menus: Sub-menu overlapping amount not hardcoded (#126) 2015-05-24 23:58:40 +01:00
ocornut
0836f69d9b WIP Menus: Fixed style.WindowPadding == 0 leading to zero-sized initial clipping rectangle leading to self-collapsing childs (#126) 2015-05-24 23:56:29 +01:00
ocornut
6c749934ec Combo: empty label doesn't add ItemInnerSpacing alignment, matching other widgets 2015-05-24 23:45:44 +01:00
ocornut
9abcbf73cb WIP Menus: Sub-menus appears over the parent-menu scrollbar if there is one (unsure about that) (#126) 2015-05-24 23:37:47 +01:00
ocornut
63aa035f59 WIP Menus: Fixed estimation of scrollbar width (broke in 292f08b11e) (#126) 2015-05-24 23:25:57 +01:00
ocornut
8c1d7daef8 WIP Menus: Fixed repositioning of menus when there's no room in the 4 quadrants., we still keep them within the visible display area (#126)
vs popup which prefer to stay away from the mouse cursor
2015-05-24 23:17:06 +01:00
ocornut
1ab1712849 WIP Menus: Clicking the label of an already open sub-menu doesn't close it unless from a menu-bar (match Windows behavior) (#126)
Argh,
2015-05-24 22:33:04 +01:00
ocornut
48ede93a58 WIP Menus: Fixed closing popup on menu item activation when a child menu is open from the popup (#126) 2015-05-24 22:30:48 +01:00
ocornut
53892ab893 WIP Menus: Fixed manually closing submenu affecting position of the following window (#126) 2015-05-24 21:20:10 +01:00
ocornut
292f08b11e WIP Menus: Fixed some alignment issues with non standard styles. Tweaked menu-bar color (#126) 2015-05-24 21:11:11 +01:00
ocornut
14bcfef041 Merge remote-tracking branch 'origin' into 2015-05-menus
Conflicts:
	imgui.cpp
2015-05-24 17:32:10 +01:00
ocornut
8cfae35042 Added Dummy() helper 2015-05-24 17:30:59 +01:00
ocornut
89d1340225 WIP Menus: Added Enabled/Disabled option for MenuItem() (#126) 2015-05-23 13:54:57 +01:00
ocornut
485832fe06 WIP Menus: Added BeginMainMenuBar()/EndMainMenuBar() helpers. Added to examples. 2015-05-23 13:43:45 +01:00
ocornut
e6b1e39847 WIP Menus: don't clamp windows within display when a position has been explicitly set by user. Menu item spacing uses ItemSpacing. (#126) 2015-05-23 13:43:13 +01:00
ocornut
e7097d6176 WIP Menus: menus now affected by WindowMinSize (#126) 2015-05-23 13:03:09 +01:00
ocornut
e3f2ad728a Merge remote-tracking branch 'origin' into 2015-04-indexed-rendering
Conflicts:
	examples/directx11_example/imgui_impl_dx11.cpp
2015-05-21 22:57:29 +01:00