Commit Graph

965 Commits

Author SHA1 Message Date
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
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
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
fa179d0ad8 Reordered ImGuiHoveredFlags to match upcoming ImGuiFocusedFlags (#1382) 2017-12-12 12:52:24 +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
185c1eaaf3 Alignment + removed comments 2017-12-11 22:55:28 +01:00
omar
f93945540f Renamed ImGuiTreeNodeFlags_AllowOverlapMode to ImGuiTreeNodeFlags_AllowItemOverlap. (#600, #1330) 2017-12-11 22:42:12 +01:00
omar
6b168b43ff Comments (#822) 2017-12-11 19:47:23 +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
f06f68f3ce Obsoleted old functions: SetScrollPosHere (marked obsolete in 1.42, July 2015). GetWindowFont(), GetWindowFontSize() (marked obsolete in 1.48, March 2016) 2017-12-11 16:22:52 +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
1096e14356 ImFont: Added GetDebugName() helper. 2017-12-10 18:34:32 +01:00
omar
e3e0326ea9 Exposed BeginCombo() publicly. 2017-12-10 18:08:59 +01:00
omar
080f61858f Sorted typedefs/enumations forward declarations in imgui.h 2017-12-10 17:57:27 +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
0872020c5c Comments 2017-12-10 16:11:29 +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
omar
c9f0275e22 Combo: Removed ImGuiWindowFlags_ComboBox flag. Moved internal window flags. 2017-12-08 18:32:12 +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
97edd42fc0 Indent(), Unindent(): Allow passing negative values. 2017-12-07 21:14:25 +01:00
omar
94bf12f14b Demo: Display better mouse cursor info for debugging backends. 2017-12-07 13:27:49 +01:00
omar
20c7aab60c Exposed GetOverlayDrawList(). (~#545, ~#530) 2017-12-07 12:49:52 +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
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
63712d5f5c Merge branch 'master' into drag_and_drop 2017-11-28 17:28:45 +01:00
omar
4c4f1b0224 ImVector: Added ImVector::push_front helper. 2017-11-28 10:49:43 +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
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
3f5b2a3fe3 Exposed ImDrawCornerFlags, replaced occurences of ~0 with an explicit ImDrawCornerFlags_All. Inversed BotLeft (prev 1<<3, now 1<<2) and BotRight (prev 1<<2, now 1<<3). 2017-11-20 13:53:16 +01:00
omar
31683cfe34 ImDrawList::AddImageRounded: removed PrimDistributeUV declaration, fixed coding style, restored argument order from original PR. (#845) 2017-11-20 13:31:40 +01:00
omar
ba095f81a5 Merge branch '2016-08-rounded-image' of https://github.com/thedmd/imgui into thedmd-2016-08-rounded-image 2017-11-20 13:07:14 +01:00
omar
8c0f2e4946 Added comment to help people dealing with 58345b11e1 breakage (#707) 2017-11-20 13:05:50 +01:00
thedmd
79f07f6ff0 Add AddImageRounded() to ImDrawList 2017-11-19 21:56:46 +01:00
omar
92212b17aa Merge branch 'master' into drag_and_drop 2017-11-19 16:23:37 +01:00
omar
abbf836fd0 Style, Begin: removed ImGuiWindowFlags_ShowBorders window flag. Borders are now fully set up in the ImGuiStyle structure (see e.g. style.FrameBorderSize, style.WindowBorderSize). Use ImGui::ShowStyleEditor() to look them up. (#707, fix #819, #1031, ref #1019, ref #447) 2017-11-19 15:56:51 +01:00
omar
c433bc971f Reorder fields for consistency. 2017-11-19 14:58:10 +01:00
omar
39137ccc3e Style: renamed ImGuiCol_ChildWindowBg to ImGuiCol_ChildBg. (#707) 2017-11-19 13:52:40 +01:00
omar
9886b09a0a Minor tweak, removed extraneous empty destructor. 2017-11-19 12:42:17 +01:00
Jason Wilkins
e605f21797 TreePush with zero arguments was ambiguous. Resolved by making it call TreePush(const void*) 2017-11-19 12:36:14 +01:00
omar
9a44d447cd NewFrame() now asserts if neither Render or EndFrame have been called. Exposed EndFrame(). Made it legal to call EndFrame() more than one. (#1423 etc.) 2017-11-19 12:06:45 +01:00
omar
4022ada843 Merge branch 'master' into drag_and_drop 2017-11-19 00:36:32 +01:00
omar
4daf377c9b Added comment about TextUnformatted(). (#1450) 2017-11-19 00:32:47 +01:00
omar
d7af1a218e Style: Added PopupRounding setting. (#1112) 2017-11-19 00:29:29 +01:00
omar
0a61b7195c Style: Added a default StyleColorsLight(). (#707) 2017-11-19 00:29:29 +01:00
omar
58345b11e1 Style: Removed ImGuiCol_ComboBg in favor of combo boxes using ImGuiCol_PopupBg for consistency. (#707) 2017-11-18 23:44:16 +01:00
omar
bd4bc929ce Style: renamed style.ChildWindowRounding to style.ChildRounding, ImGuiStyleVar_ChildWindowRounding to ImGuiStyleVar_ChildRounding. 2017-11-18 18:28:21 +01:00
omar
7746dd104c Merge branch 'master' into drag_and_drop 2017-11-16 13:28:22 +01:00
omar
f5bdf443c9 Minor comments, tweaks 2017-11-15 22:37:43 +01:00
omar
ae060b1d67 Merge branch 'master' into drag_and_drop 2017-11-15 10:24:54 +01:00
omar
ffad688fc8 Drag and Drop: Added payload->IsPreview() to user can render their custom preview while handling overlapping drop targets. (#143) 2017-11-14 22:11:43 +01:00
omar
30bf40195b io.OptNoCursorBlink -> io.OptCursorBlink (#1427) 2017-11-12 16:06:44 +01:00
omar
669498ff26 Added io.OptNoCursorBlink option to disable cursor blinking. (#1427). Renamed io.OSXBehaviors to io.OptMacOSXBehaviors. Should affect users as the compile-time default is usually enough. (#473, #650) 2017-11-12 16:03:09 +01:00
omar
de1e7dc088 Drag and Drop: Moved internal fields out of public sight. (#143) 2017-11-06 20:04:10 +01:00
omar
8b725c94cb Drag and Drop: Rework internal to allow overlapping targets (#143) 2017-11-06 19:39:23 +01:00
omar
3461a2f296 Merge branch 'master' into drag_and_drop 2017-11-02 18:06:04 +01:00
omar
ff4d4ca651 IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) (#1382, #1404) 2017-11-02 16:44:24 +01:00
Giuseppe Barbieri
6fb43f2011
Update imgui.h 2017-11-01 17:56:03 +01:00
omar
66f42324ad Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag. 2017-11-01 17:25:42 +01:00
omar
fba704bf5d Examples: Added a bunch of comments/referencs related to io.WantCaptureMouse, io.WantCaptureKeyboard (#1262, #1237, #1219, #635, #1058, #1051, #912, #533, #703, #446, #459, #364, #213, #52, and more) 2017-11-01 14:24:09 +01:00
omar
59323b54da Demo: Comments (#1408) 2017-11-01 12:57:12 +01:00
omar
7f06d385a1 Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions 2017-10-30 09:50:54 +01:00
omar
0e775807b4 Drag and Drop: Added a mechanism to allow widgets with no identifiers (such as Text/Image) to be used with BeginDragDropSource() given the explicit ImGuiDragDropFlags_SourceAllowNullID flag. 2017-10-29 23:10:44 +01:00
omar
acf78da742 Drag and drop: moved to imgui.h 2017-10-29 21:37:14 +01:00
omar
cb38caeda4 Examples: Added more comments near the fonts loading section, to catch common questions and errors (e.g. #1397, #1366, #1341, #1222, #1193, #1115, #951, etc.) 2017-10-28 18:21:44 +02:00
omar
c503a50cff Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function. 2017-10-27 20:01:30 +02:00
omar
77df1ba9e0 Version 1.53 WIP 2017-10-27 19:54:56 +02:00
omar
b422f35872 IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns. 2017-10-27 18:21:30 +02:00
omar
9f200d10d5 Version 1.52 2017-10-27 17:10:41 +02:00
omar
8dd7648db2 Comments 2017-10-27 16:41:22 +02:00
omar
3656f2c769 NewFrame: Allow MovedWindow setting the ImGuiWindowFlags_NoInputs after moving has started in order to be able to detect windows below it, which is useful for e.g. docking mechanisms. 2017-10-27 16:39:23 +02:00
omar
a6ff14d66e Exposed IM_ARRAYSIZE() in imgui.h 2017-10-26 16:12:53 +02:00
omar
7f880674e5 Font: Renamed ImFont::Clear() to ImFont::ClearOutputData() for consistency with what ImFontAtlas does. DisplayOffset is set by constructor but not reset by ClearOutputData. (#1349) 2017-10-22 10:24:56 +02:00
omar
43df7eb5ea Added OpenPopupOnItemClick(); helper which mimic BeginPopupContextItem() but doesn't do the open.
Made the color popups uses this standard function so they handle reopening a context menu.
2017-10-20 18:56:31 +02:00
omar
564ff2dfd3 IsItemHovered(), IsWindowHovered(): added flags to enable various and more specific behavior. Will enable improvements for popups/context menus and drag'n drop. (relate ~#439, #1013, #143, #925)
The legacy confusing IsItemRectHovered(), IsWindowRectHovered() can be completely removed now.
Changed IsWindowHovered() behavior with default parameter: it now return false is the window is blocked by a popup.
Demo: Added tests for those two functions.
2017-10-20 17:52:22 +02:00
omar
d29a6a5a5a Moved IMGUI_DISABLE_OBSOLETE_FUNCTIONS block lower in the imgui.h file so obsolete functions can use flags. Also sane to quarantine them outside of the respectable area. 2017-10-20 17:29:52 +02:00
omar
e384078d7a IO: reordering some supposedly private fields. 2017-10-19 22:49:36 +02:00
omar
03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 2017-10-17 16:19:21 +02:00
omar
1a35766356 BeginPopupContextItem() now supports a NULL string identifier and uses the last item ID if available. For interactive items (that have an ID) this works! For non interactive items we assert. 2017-10-16 23:37:12 +02:00
omar
43b4a81b3e Rnamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete). 2017-10-11 15:36:57 +02:00
omar
c6e370a77a TreeNode: Added ImGuiTreeNodeFlags_FramePadding flag 2017-10-11 15:16:11 +02:00
omar
335c8dd159 Comments (clarifying whether types are to be considered as flags or regular, non combinable enums) 2017-10-06 11:23:08 -07:00
omar
a8788e51a7 SetKeyboardFocusHere() added assert to prevent passing values smaller than -1 as we may have to outlaw them (I think nobody was using that) 2017-10-05 09:53:07 -07:00
omar
67ac7da30f Styles: Added ImGuiStyle::ScaleAllSizes(float) helper to make it easier to have application transition to e.g. High DPI with a matching style. 2017-10-04 18:13:57 -07:00
omar
f99348711b Added VerticalSeparator() entry point in imgui_internal. Seperator() in an horizontal layout context still does that. 2017-09-28 16:41:01 +02:00
omar
09f6f564d9 ImFontAtlas: Fixed calling Clear() and rebuilding (broken in 3fe2ecfd4c) thanks @pdoane @mikesart 2017-09-27 11:21:42 +02:00
omar
3fe2ecfd4c ImFontAtlas: Added support for CustomRect API to submit custom rectangles to be packed into the atlas / and map them as font glyphs 2017-09-26 20:24:27 +02:00
omar
501e73feed Minor comments 2017-09-26 20:18:14 +02:00
omar
9e1ad7295f ImFont: Renamed (supposedly internal) fields (e.g. XAdvance to AdvanceX). Custom text renderers might be affected if they didn't use the GetCharAdvance() helper function. 2017-09-26 20:05:16 +02:00
omar
10bb9524eb ImFont: Renamed ImFont::Glyph to ImFontGlyph (for consistency and so ImFontAtlas types can use it without ordering half of the file). Left a redirection type. 2017-09-26 19:54:30 +02:00
omar
2170b0b278 ImFontAtlas: Comments and minor reorganization of declaration in header file. 2017-09-26 19:10:29 +02:00
omar
529ca279a4 ImFont: Split some building code into a AddGlyph() helper (that custom rect code and imgui_freetype can use) 2017-09-26 18:41:21 +02:00
omar
728deff56c Comments, debug code (commented), todo list 2017-09-26 15:33:57 +02:00
omar
99b9f1c93c Fix static misusage error with decent compilers. Error introduced in 4b82759598 2017-09-26 11:23:06 +02:00
omar
4b82759598 SetNextWindowPos: added a ImVec2 pivot parameter for positioning a given a center, bottom-right position, etc. As a generalization of SetNextWindowPosCenter() which is now obsolete. This will be useful for combo-like popups as well.
Demo: Simple-overlay window uses the SetWindowPos pivot to select a corner to position itself at.
2017-09-25 18:25:43 +02:00
omar
1ff27d7db8 Added io.WantMoveMouse flags from Nav branch so Examples/Binding can already implement it. (#787) 2017-09-18 16:04:28 +02:00
omar
709653c330 Merge branch 'master' into styles 2017-09-18 15:03:25 +02:00
omar
f63c03c464 Internals: moved ButtonRepeat and AllowKeyboardFocus bools/stacks to a generic ItemFlags stack. Merged from Navigation branch. 2017-09-06 20:28:36 +02:00