Commit Graph

300 Commits

Author SHA1 Message Date
omar
ae060b1d67 Merge branch 'master' into drag_and_drop 2017-11-15 10:24:54 +01:00
omar
3e06450d27 Internals: Added ArrowButton() helper. 2017-11-13 15:18:31 +01:00
omar
7908cce25f Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. (#143) 2017-11-13 15:17:41 +01:00
omar
b6504b8eee Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations. 2017-11-08 15:47:52 +01:00
omar
aae52522c3 Internals: Remove requirement to define IMGUI_DEFINE_PLACEMENT_NEW (#1103) 2017-11-07 14:06:02 +01:00
omar
571b08f315 Internal: FindWindowByName() faster and doesn't touch every windows 2017-11-07 13:59:55 +01:00
omar
de1e7dc088 Drag and Drop: Moved internal fields out of public sight. (#143) 2017-11-06 20:04:10 +01:00
omar
66f42324ad Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag. 2017-11-01 17:25:42 +01:00
omar
a810619555 Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only! 2017-10-30 00:03:04 +01:00
omar
1d7d8f8574 Merge branch 'master' into drag_and_drop 2017-10-29 23:49:24 +01:00
omar
b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets) 2017-10-29 23:49:01 +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
b5f714e9f9 Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it. 2017-10-29 21:31:49 +01:00
omar
c5536e49ef Drag and drop API experiment 2017-10-29 21:15:02 +01:00
omar
77df1ba9e0 Version 1.53 WIP 2017-10-27 19:54:56 +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
ccdb58b17e Internal: Added ImVec4 operators 2017-10-27 16:40:04 +02:00
omar
6243252d5a Internal: BeginTooltipEx() in imgui_internal.h 2017-10-27 16:21:12 +02:00
omar
d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch) 2017-10-27 15:52:45 +02:00
omar
c432fcf2bb Minor renaming. 2017-10-27 12:01:52 +02:00
omar
a6ff14d66e Exposed IM_ARRAYSIZE() in imgui.h 2017-10-26 16:12:53 +02:00
omar
4faf99eff5 Added most basic form of Disabled flag to disable interactions (but visuals aren't altered), in imgui_internals.h, undocumented/unsupported (#211, #1012) 2017-10-25 09:28:54 +02:00
omar
de72e9cc87 Internals: ImLerp() helper for ImVec4 2017-10-23 17:22:00 +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
5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 2017-10-19 19:42:19 +02:00
omar
d3c2e904d8 Internals: Added ImLinearSweep() helper. 2017-10-19 19:29:59 +02:00
omar
370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 2017-10-18 23:46:16 +02:00
omar
a03093b2d4 CollapsingHeader(bool*) variant: fixed for IsItemHovered() to work properly in the nav branch.Basically the close button now has to use ItemAdd() to be navable into, which overwrite the IsItemHovered data. (#600, #787) 2017-10-18 19:55:08 +02:00
omar
ef3f87eec5 Internals: ButtonBehavior: made ImGuiButtonFlags_PressedOnClick and ImGuiButtonFlags_PressedOnDoubleClick set the click offset correctly + hold on g.ActiveId so Held state can be reported. Added ImGuiButtonFlags_NoHoldingActiveId flag to disable the later. 2017-10-18 13:08:25 +02:00
omar
1c4af303bf Internals:Helpers: Added ImSwap(int,int), exposed ImStrncpy(). 2017-10-18 13:08:14 +02:00
omar
bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 2017-10-18 13:06:49 +02:00
omar
78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 2017-10-17 16:15:46 +02:00
omar
2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 2017-10-17 16:14:20 +02:00
omar
4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 2017-10-17 15:51:20 +02:00
omar
55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 2017-10-17 15:47:55 +02:00
omar
4be967823f Exposed Scrollbar() in imgui_internal.h and removed a bool arg 2017-10-13 13:30:28 +02:00
omar
042153d254 Internal: ItemAdd(), IsClippedEx(): removed unnecessary indirection for ID parameter 2017-10-06 14:23:18 -07:00
omar
164f22d5b7 Comments 2017-09-28 22:00:49 +02:00
omar
926c1cf9a4 Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag 2017-09-28 17:02:28 +02: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
0106dcbd02 Fixed IsItemHovered() - part of the processing has to be done in ItemAdd() because the widget may alter clipping rectangle temporarily. 2017-09-28 15:43:26 +02:00
omar
fafe65a8fc Refactor to move the responsability of SetHovered() to ItemHoverable() - previously IsHovered(). Simpler and the parallel to ItemAdd is clearer with the new name. 2017-09-28 00:21:47 +02:00
omar
7bcb1d3816 Internals: ButtonBehavior(), IsHovered() moved the responsability of flatten_child higher level to ButtonBehavior() - not super sure about the elegance of this 2017-09-27 22:59:40 +02:00
omar
0adcddac39 IsItemHovered(), ItemAdd(): finishing cleaning up, moved the code to IsItemHovered() so ItemAdd() is more lightweight and the two IsXXXHovered functions are now very similar, making their differences less confusing. 2017-09-27 17:21:50 +02:00
omar
99c7622a1b ItemAdd(), not performing computation for IsItemRectHovered() which does them itself, allowing us in the next commit to optimize ItemAdd() and make its logic more consistent with IsHovered(). 2017-09-27 16:20:53 +02:00
omar
8374a454da Removed extraneous ImGui:: prefixes. Declared ColorEditOptionsPopup in imgui_internals.h. Tweaked internal signatures. 2017-09-27 11:39:13 +02:00
omar
072d6d8cb5 ImFontAtlas: Refactored internals API to 1) avoid building lookup table multiple times for merged fonts + 2) allow the mapping of custom icons inside fonts (wip, uncommited) 2017-09-26 19:26:16 +02:00
omar
be03882a15 Separator(): output vertical separator when used in horizontal layout mode, so it works in menu bars. 2017-09-26 15:43:48 +02:00
omar
69d0d33451 Exposed PushMultiItemsWidths() to imgui_internal.h 2017-09-25 22:45:10 +02:00
omar
0d56140b4a BeginCombo(): rework internals a little to make it easier to provide custom combo-like elements relying in BeginCombo().
BeginPopupEx() doesn't enforce AlwaysAutoResize flag anymore.
2017-09-25 21:45:34 +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
0a5fb24f10 Popups: Exposing a little more of popups internals in imgui_internals.h 2017-09-25 12:52:06 +02:00
Bruce Mitchener
2fcdeb7f12 Remove commas after last item in enumeration.
This brings these enums to match the rest of the code and fixes
2 warnings under clang about using C++11 extensions.
2017-09-14 10:35:30 +07:00
omar
cb2775ae54 Internals: ImGuiItemFlags comments 2017-09-06 20:36:36 +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
omar
2169bf6895 Fixed WantTextInput from being true when an activated Drag or Slider was previously turned into an InputText(). (#1317) 2017-09-06 17:25:36 +02:00
omar
790605e359 Minor comments + renaming internal fields 2017-09-06 17:20:54 +02:00
omar
e8dbf1c795 Combo: Internally split into BeginCombo(), EndCombo(), toward a more flexible combo api. 2017-09-01 22:10:13 +02:00
omar
804ee78731 Added IsWindowAppearing(). 2017-09-01 21:55:59 +02:00
omar
ddf41b0398 Merged from Navigation branch. TAB/Alt-TAB processing now deactivate if holding Ctrl. 2017-08-29 17:27:19 +08:00
omar
358e7a194e Added GetKeyPressedAmount() (from Nav branch) to be able to measure fast repeat rate accurately. Added internal CalcTypematicPressedRepeatAmount() function. 2017-08-29 16:13:17 +08:00
omar
ee42fae468 Merge various minor things (supposedly harmless) from Navigation branch into Master to reduce differences. (#787) 2017-08-29 16:05:12 +08:00
omar
01d4bf299a Added overcomplicated RenderRectFilledRangeH() to fix rounded progress bar, which will also help for range widgets and perhaps sliders grabs over rounded areas. (#1296, #76) 2017-08-29 15:22:30 +08:00
omar
7a9ea281be ImSwap() helper. 2017-08-28 19:27:12 +08:00
omar
1f51e8f39d Internals: Renamed some ImGuiCorner enums. 2017-08-28 14:11:11 +08:00
omar
419b22a487 Internals: Split some code out of NewFrame() into an Initialize() function. 2017-08-26 16:35:39 +08:00
omar
f72ca6d22c ImFontConfig: Added RasterizerMultiply option to alter the brightness of individual fonts at rasterization time, which may help increasing readability for some. Added RasterizerFlags for custom rasterizer flags (aka imgui_freetype) 2017-08-26 14:11:56 +08:00
omar
37f3a718c6 Marked all fmt + va_list functions with format attribute so GCC/Clang can warn about them. Not ignoring -Wsuggest-attribute=format anymore for GCC/Clang. 2017-08-25 16:10:14 +08:00
omar
40f608ce9b Version 1.52 WIP 2017-08-25 15:12:12 +08:00
omar
55a6209931 Version 1.51 2017-08-25 00:29:59 +08:00
omar
141339e4b7 (internals) Renamed FocusedWindow to NavWindow to match terminology of navigation branch 2017-08-22 19:51:12 +08:00
ocornut
2ad2190d47 Merge 20a0fde012 Tidying up default clipboard handler for non Windows-OS (from Nav branch) 2017-08-22 19:47:52 +08:00
ocornut
50b3a14d0a Merge 2545d75c3b from Nav - Tidying up, removed two unnecessary window flags from being exposed in imgui.h 2017-08-22 18:26:27 +08:00
omar
d5b0d51274 Minor miscellaneous merges from Navigation branch to reduce divergence a little bit 2017-08-22 18:13:10 +08:00
omar
6ee317d26d ImRect::Clip() -> ClipWith() to clarify meaning, going to undo the change in Nav branch. 2017-08-22 17:46:50 +08:00
omar
530baee1a7 Removed tabs that slipped through the cracks 2017-08-21 00:03:37 +08:00
omar
067127f113 Columns: Caching columns clipping rectangles (#125) 2017-08-20 23:17:59 +08:00
omar
adeaf1cd72 Columns: Moved PushColumnClipRect() to imgui_internal.h 2017-08-20 23:09:43 +08:00
omar
1c83b073c6 Columns: A set of column (and most importantly the right-most column) do not register its content to the parent, not affecting the window contents size. (#519, #125, #913) 2017-08-20 20:58:23 +08:00
omar
7f0063f858 Columns: Added ImGuiColumnsFlags_NoResize flag (internal). (#913, #125) 2017-08-20 19:32:50 +08:00
omar
19a42cb2fd Columns: Moved BeginColumns/EndColumns/flags from #913 to imgui_internals.h + minor shallow tweaks. Removed demo code temporarily. (#125) 2017-08-20 18:44:48 +08:00
omar
bc78535bbf Merge branch 'master' of https://github.com/ggtucker/imgui into ggtucker-master
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-08-20 18:22:34 +08:00
omar
8be7a60f20 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:19:54 +08:00
omar
1086c87767 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:13:14 +08:00
omar
4075cc58e9 ImFontAtlas; Re-arranging code to simplify implementation of imgui_freetype (#618) 2017-08-17 20:44:44 +08:00
omar
a85a14370b OpenPopupEx() internal tweaks to receive an ImGuiID, BeginPopupContextXXX shortening unnecessarily long identifier. 2017-08-16 15:47:10 +08:00
omar
d2259f65e5 Undo part of 32dbe836d0 to keep the same name for both overloads (#891, #799) 2017-08-16 13:42:41 +08:00
omar
e682362f35 TODO list update, comments 2017-08-16 12:54:51 +08:00
omar
7e452ec737 Renamed ImGuiSetCond_XXX type and enums to ImGuiCond_XXX, kept old enums under #ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2017-08-11 13:36:28 +08:00
omar
942cb0e1f2 Added SetColorEditOptions(). ColorPicker4: context menu to select picker type and alpha bar. Reorganized flags (again!). (#346) 2017-08-08 15:54:20 +08:00
omar
fb54dce71c Internals: Added ImLineClosestPoint, ImTriangleClosestPoint helpers. Changing ImVec2 arg to const ImVec2& 2017-07-31 21:11:41 +08:00
omar
1a26d0bc98 Internals: Added ImDot(), ImRotate(), ImLerp(v2,v2,float) helpers. 2017-07-31 18:56:51 +08:00
omar
72da4081f8 Internals: Added ImTriangleBarycentricCoords() helper. Renamed ImIsPointInTriangle() to ImTriangleContainsPoint(), with different arg order. 2017-07-31 17:54:40 +08:00
omar
390188dfa9 Comments about parts of imgui_internal.h that will self-destruct. 2017-07-30 16:16:06 +08:00
omar
fef8aac523 ColorPicker4: hue/alpha bars draw arrows that would look right on all background. RenderArrow helper. (#346) 2017-07-30 16:15:52 +08:00
omar
7537dff806 ColorEdit4: Picker spawned from ColorEdit4 has a preview for original/previous color with revert button - WIP not really happy with it being in ColorEdit4 code (#346) 2017-07-29 15:54:45 +08:00
omar
bfec9c657e ColorButton: Pretty much gave up with getting the checkerboard + AA + rounding + blending + offset all working together with every combination under the sun. It works as long as you don't sneeze. (#346) 2017-07-27 16:26:32 +08:00
omar
69dd1ed583 RenderColorRectWithAlphaCheckerboard() in one layer to shunt out anti-alasing artefacts when rounded. Added ImLerp(int,int,float). (#346) 2017-07-26 22:20:43 +08:00