2169 Commits (8d21ee56d2a4ae50a5ca4c84442280251d945e84)

Author SHA1 Message Date
omar 25c159fac8 Internals: Removed unnecessary duplicate scrolling code + added extra infos to Metrics window. 7 years ago
omar 52e475230f Settings: Internals: Renaming. 7 years ago
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) 7 years ago
omar 7ae71e4984 Settings: Internals: Added FindSettingsHandler() 7 years ago
omar 35eb5c5c99 Settings: Internals: Exposed FindWindowSettings(). Simplified some code. 7 years ago
omar 963259d128 Settings: Internals: Renamed ImGuiSettingsWindow to ImGuiWindowSettings. 7 years ago
omar 63712d5f5c Merge branch 'master' into drag_and_drop 7 years ago
omar 4a43632163 Build fix 7 years ago
omar 1a8a7c9d17 Settings: Import old style .ini file 7 years ago
omar e5ebe42207 Settings: Make ImGuiWindow settings always first in the list. 7 years ago
omar f3ec608c19 Settings: Initializing ImGuiSettingsWindow so external users don't end up with uncleared data. Exposed MarkIniSettingsDirty() in imgui_internal.h 7 years ago
omar 7e2d0d734c Settings: basic refactor so that additional data structures can be loaded/saved. Parser/saver is still the minimum viable poor-man parsing. 7 years ago
omar d552cabd15 Settings: Internal renaming of structure and fields names. 7 years ago
omar ade09b9e3c Settings: Basic internal refactor to have functions for saving from/to memory (not exposed) 7 years ago
omar 532f564fd3 ImGuiTextBuffer: Renamed append() helper to appendf(), appendv() to appendfv(). Added reserve(). 7 years ago
omar d9c5d72962 ImGuiStorage: Added BuildSortByKey() helper to rebuild storage from stratch. 7 years ago
omar 6bd3b45b34 Sisyphus says: tweaked comments about not using old-style OpenGL examples (#1459, #1394 etc.) 7 years ago
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. 7 years ago
omar aafa6cece5 Tweak expression to be less weird (how did that ever happen?) 7 years ago
Giuseppe Barbieri 21b456e567
Update imgui.cpp 7 years ago
omar 176d8fbe74 Fixed unreferenced variable warnings. 7 years ago
omar 302757447a Internals: Added SplitterBehavior(). (#319) 7 years ago
omar 195abc3d17 Begin: Fix border size latch when rounding uses Child or Popup value. (#707) 7 years ago
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). 7 years ago
omar 7f447c8270 Color picker: Tweak vertex shading code, since we aren't shading between PrimReserve and PrimVert the code can be expressed more naturally. (#346) 7 years ago
omar dc2768503f Fix for drag and drop branch. 7 years ago
omar 92212b17aa Merge branch 'master' into drag_and_drop 7 years ago
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) 7 years ago
omar c433bc971f Reorder fields for consistency. 7 years ago
omar 39137ccc3e Style: renamed ImGuiCol_ChildWindowBg to ImGuiCol_ChildBg. (#707) 7 years ago
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.) 7 years ago
omar 538a704143 NewFrame(): using literal strings in the most-frequently firing IM_ASSERT expression to increase the odd of programmers seeing them (especially those who don't use a debugger). 7 years ago
omar 4022ada843 Merge branch 'master' into drag_and_drop 7 years ago
omar 8a7f03cbf9 Combo: Offset popup position by border size so that a double border isn't so visible. (#707) 7 years ago
omar d7af1a218e Style: Added PopupRounding setting. (#1112) 7 years ago
omar 067605052d Fix IsItemHovered() returning true for non-title bar hidden items that are clipped due to window collapsing logic. Fix 27fd1b913b. (#823) 7 years ago
omar 6f7b1bf2e1 Internals: Renamed ImGuiWindow::Accessed to WriteAccessed. 7 years ago
omar 58345b11e1 Style: Removed ImGuiCol_ComboBg in favor of combo boxes using ImGuiCol_PopupBg for consistency. (#707) 7 years ago
omar 29e0078b66 Internals: Window minor internal renaming + added WindowRounding latch. 7 years ago
omar bd4bc929ce Style: renamed style.ChildWindowRounding to style.ChildRounding, ImGuiStyleVar_ChildWindowRounding to ImGuiStyleVar_ChildRounding. 7 years ago
omar da2be7bbdc Style: ScaleAllSizes() helper rounds down every values so they are aligned on integers. 7 years ago
omar 834fa52c8e Columns: Added ImGuiColumnsFlags_GrowParentContentsSize to internal API to restore old content sizes behavior. (#1444, #125) 7 years ago
omar 7746dd104c Merge branch 'master' into drag_and_drop 7 years ago
omar 29d962069d Internals: Updating condition/allow flags with a function. 7 years ago
omar 4ad414c8d4 Internals: Window: Store whether the windows has a close button (we need that info for window/tabs dropping preview calculation) 7 years ago
omar 7c4be0a000 Internals: Added BringWindowToFront(), BringWindowToBack() helpers. 7 years ago
omar e9a7e73bba Windows with MenuBar have a larger minimum height to avoid artefacts (I fixed most of the vertical/horizontal artefacts, but the ones in rounded corners were too hard to fix). 7 years ago
omar f36037b384 Menu: Fixed minor rendering issues on the right size with rounded window when resizing a window small. 7 years ago
omar 9b82d9fbef Scrollbar: Minor graphical fix for when scrollbar don't have enough visible space to display the full grab. 7 years ago
omar f5bdf443c9 Minor comments, tweaks 7 years ago
omar 5ea6e80da1 Make it possible to use SetNextWindowPos() on a child window. Useful internally. 7 years ago
omar 44b761b308 Merge branch 'master' into drag_and_drop 7 years ago
omar 27fd1b913b Made it guaranteed by API that after calling Begin() the last Item represent the title bar. (#823) 7 years ago
omar ae060b1d67 Merge branch 'master' into drag_and_drop 7 years ago
omar 64e79035d5 Scrollbar flicker fix for menus/popups (fixes 4d00dd8326 and 2df8fa95df). Hopefully right this time. 7 years ago
omar 6001d9c7a4 Columns: Clipping columns borders on Y axis on CPU because some GPU drivers appears to be unhappy with triangle spanning large regions (not sure why tbh). (#125)
Demo: Columns: Adding a billion of extra lines and using clipper.
7 years ago
omar ffad688fc8 Drag and Drop: Added payload->IsPreview() to user can render their custom preview while handling overlapping drop targets. (#143) 7 years ago
omar 852ece3a0e Fixed build (3e06450d27 not meant for master branch, but ok) 7 years ago
omar 3e06450d27 Internals: Added ArrowButton() helper. 7 years ago
omar 7908cce25f Drag and Drop: Added internal BeginDragDropTargetCustom() convenient to avoid submitting dummy ItemAdd. (#143) 7 years ago
omar 4d00dd8326 Fixed scrollbar flickering on/off when uncollapsing a window (fixes 2df8fa95df) 7 years ago
omar 30bf40195b io.OptNoCursorBlink -> io.OptCursorBlink (#1427) 7 years ago
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) 7 years ago
Branimir Karadžić 9daac64ff8 Clean g.WindowsById storage on shutdown. 7 years ago
omar ba09de3a39 Begin: Fixed appending into a child window with a second Begin() from a different window stack querying the wrong window for the window->Collapsed test. 7 years ago
omar 8451855a30 ButtonBehavior: Fixed ImGuiButtonFlags_AllowOverlapMode to avoid temporarily activating widgets on click before they have been correctly double-hovered. (#319, #600) 7 years ago
omar 4b94738c7e Drag and Drop: Drop target rectangle goes out of clipping range (#143) 7 years ago
omar b1653cd361 Drag and Drop: Allow NULL payload (since type only can be useful). (#143) 7 years ago
omar 2df8fa95df Fixed vertical scrollbar flickering/appearing, typically when manually resizing and using a pattern of filling available height (e.g. full sized BeginChild). THIS IS A GREAT FIX, this glitch was nasty and annoying (and yet somehow nobody reported it?). Hopefully haven't broken anything else... 7 years ago
omar a4cc3d4637 Minor tweaks/comments. Note that the reordering the one subtraction caused subtle havoc before the patch in 9ac8820ee2. 7 years ago
omar 9ac8820ee2 Fixed non-pixel aligned bounding box of window resize grip, / which triumphally led to any re-arrangement of operations inside the resize grip code outputting non-exact size_target values which led to unstable window position because clamping code uses size in a subtraction, etc etc. Lovely how a whole system can be made to act weird with a single bad input. 7 years ago
omar b6504b8eee Drag and drop: Handle overlapping drag target priorities given their surface, which appears to make most sense for drag and drop operations. 7 years ago
omar 2ab27be3de Child window with MenuBar use regular WindowPadding.y so layout look consistent in child or in a regular window. 7 years ago
omar 41862b8c0e ButtonBehavior: Fixed ImGuiButtonFlags_NoHoldingActiveID from incorrectly setting ActiveIdClickOffset, which probably have no known effect, but it is more correct this way. (#1418) 7 years ago
omar 1870738880 LowerBound() minor tweaks 7 years ago
omar 571b08f315 Internal: FindWindowByName() faster and doesn't touch every windows 7 years ago
omar 2c7ba21417 Fixed auto-resize allocating too much space for scrollbar when SizeContents is bigger than maximum window size (fixes c0547d358d) (#1417) 7 years ago
omar f0b4097c54 Begin: Simplified code and fixed a bug where appending into a window a second time (from a remote window) would incorrectly overwrite RootWindow with the current window in the stack. Our docking code uses this pattern. 7 years ago
omar de1e7dc088 Drag and Drop: Moved internal fields out of public sight. (#143) 7 years ago
omar 8b725c94cb Drag and Drop: Rework internal to allow overlapping targets (#143) 7 years ago
omar 16a5da9521 RenderTriangle() minor tweak to align Left/Right and Up/Down arrow extents visually 7 years ago
omar 553bdeedf7 Drag and Drop: Made it legal to not call SetDragDropPayload() between BeginDragDropSource() and EndDragDropSource(). (#143) 7 years ago
omar 3461a2f296 Merge branch 'master' into drag_and_drop 7 years ago
omar 982ce50b37 IsWindowHovered() returns true when moving window (#1382, #1404) 7 years ago
omar ff4d4ca651 IsWindowHovered(): Added ImGuiHoveredFlags_FlattenChilds flag. Made IsRootWindowOrAnyChildHovered() obsolete in favor of IsWindowHovered( ImGuiHoveredFlags_FlattenChilds) (#1382, #1404) 7 years ago
omar 803ac3a5c6 IsWindowHovered() Fix behavior when an item is active to use the same logic as IsItemHovered() (#1382, #1404) 7 years ago
omar 66f42324ad Drag and Drop: Added ImGuiDragDropFlags_SourceNoHoldToOpenOthers flag. 7 years ago
omar 6ab20ff9bf Minor tweaks to the user guide. 7 years ago
omar e55caf0b95
Merge pull request #1402 from elect86/patch-1
Minor fix typo
7 years ago
omar 7f06d385a1 Added assertions and comments for incorrect use/understanding of IsWindowFocused() etc. functions 7 years ago
Giuseppe Barbieri 9e3f9fc2dd
Update imgui.cpp 7 years ago
omar 5956fff7e2 Drag and Drop: ImGuiButtonFlags_PressedOnDragDropHold focuses the target window. 7 years ago
omar a810619555 Drag and Drop: Added support for drag and drop hold-long-to-open for CollapsingHeader() and TreeNode(). Open only! 7 years ago
omar 1d7d8f8574 Merge branch 'master' into drag_and_drop 7 years ago
omar b13d281356 Maintaining ActiveIdTimer and HoveredIdTimer (the later is useful for drag and drop, both will be of course for creators of custom widgets) 7 years ago
omar d46772b429 Comments 7 years ago
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. 7 years ago
omar b5f714e9f9 Drag and Drop: made BeginDragDropSource() clear the IsItemHovered() by default, added a flag to keep it. 7 years ago
omar c5536e49ef Drag and drop API experiment 7 years ago
omar f962ca0b01 ColorTooltip: Resize ColorButton to align better with text, now that ColorButton provides a text baseline (0260fdd1c6) 7 years ago
omar c503a50cff Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function. 7 years ago
omar 77df1ba9e0 Version 1.53 WIP 7 years ago
omar b422f35872 IO: Tracking extra mouse dragging data which is convenient for implementating various manual drag and drop patterns. 7 years ago
omar 9f200d10d5 Version 1.52 7 years ago
omar 267ea506de Begin: Fix for unused "Debug" (fix for 3b83cd24f5 ) 7 years ago
omar 3b83cd24f5 Begin: Moved some code inside of the big if (first_begin_of_the_frame) scope 7 years ago
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. 7 years ago
omar a6edd10ee6 NewFrame: Removed unnecessary call to FindHoveredWindow() and simplified code (went through this multiple times, hopefully haven't broken anything) 7 years ago
omar 6243252d5a Internal: BeginTooltipEx() in imgui_internal.h 7 years ago
omar d42f6bb6cc Merged a bit of code from Navigation branch to ease further merging (InnerRect is currently not required in the Master branch) 7 years ago
omar c432fcf2bb Minor renaming. 7 years ago
omar daef33e268 Comments about mouse setup and clearing HoveredWindow when mouse down isn't owned by imgui (will affect some future hovered test and drag'n drop patterns) (#143, #1382, #1392) 7 years ago
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) 7 years ago
omar efcd53a0c3 Removed direct dependency on sprintf() in imgui.cpp (#1038)
(NB: imgui_demo stills uses it)
7 years ago
omar 1f3372b7f1 ImFormatString, ImFormatStringV(): clarifying specs so that passing a NULL buffer should return the desired length. (#1038) 7 years ago
omar 8fd5620277 Renamed IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS to IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS/IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS for consistency. (ref #238, #520, #738) 7 years ago
omar 7d2cd0e6ff Added IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS support in imconfig.h (#1038) 7 years ago
Patrick Doane 70cb427469 Add missing CloseClipboard call 7 years ago
omar 5b062c4c29 Fixed typos 7 years ago
omar 0260fdd1c6 ColorButton: As a small convenience, provide a text baseline. 7 years ago
omar e9ff7162bc ColorButton: Fixed rendering color button with a checkerboard if the transparency comes from the global style.Alpha and not from the actual source color. 7 years ago
omar 97bf2131e2 Fixed calling SetNextTreeNodeOpen() on a collapsed window leaking to next frame. 7 years ago
omar e7922b3fa0 Factorized some code (+ declared as static function without namespace, a pattern with the Nav branch has started to use) 7 years ago
omar 1bc1751670 MenuItem(): Tweaks to mimic exact spacing of BeginMenu() when inside a menu bar, which is a little misleading imho but may be useful. (#1387) 7 years ago
omar b177f2432d MenuItem(): Tweak to not draw over all horizontal space when in horizontal layout mode. (#1387) 7 years ago
omar f7259e60ee Comments 7 years ago
omar 6ab737a4bb Popups: Fixed right-click to close popups not handling modal windows properly. (~#439) 7 years ago
omar aca23fd3f0 Popups: similarly to previous commit, we fix reopening a popup within a popup stack from truncating the whole stack. This is done by properly refocusing the lower level popup. (~#439) 7 years ago
omar 59a89774d7 Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c (~#439) 7 years ago
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.
7 years ago
omar 3cc10d25a9 BeginPopupContextItem(), BeginPopupContextWindow(): Using newly introduced IsItemHovered() flags to allow reopening another context menu (over same or not same item) with right-click. (#439) (+1 squashed commits) 7 years ago
omar 695ea45fca IsWindowHovered(): Changed default behavior to now return false is a widget from another window is active + Added support for ImGuiHoveredFlags_AllowWhenBlockedByActiveItem. (relate to drag'n drop idoms: #143) 7 years ago
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.
7 years ago
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. 7 years ago
omar e6f06627e9 Made the ImGuiWindowFlags_NoMove flag inherited from parent to child, so in a setup with RootWindow (no flag) -> Child (NoMove flag) -> SubChild (no flag) user won't be able to move the root window by clicking on SubChild. (#1381) 7 years ago
omar 3b485cda51 Fixed a bug allowing to move a _NoMove window from a child that doesn't have the flag. (#1381)
broken by e56eba44fe (#1337)
7 years ago
omar 87ae40843c Popups: popups can be closed with a right-click anywhere, without altering focus under the popup.(~#439) 7 years ago
omar 853018dd4d Popups: Fixed a bug introduced in 1a35766356 which made the BeginPopupContextXXX functions create popups without border. (nb: all that border mess is going away in styling clean up) 7 years ago
omar 5f7299e15a Refactor EndFrame() code that process focusing window with left mouse button. This commit should be no-op. 7 years ago
omar 5b699517d4 Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits) 7 years ago
omar 22977ffedb Documentation: Extra comments + tweaks to make usage of long-line more bearable. 7 years ago
omar 370a48c10b Internals: RenderCollapseTriangle() -> RenderTriangle(), takes a ImGuiDir 7 years ago
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) 7 years ago
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. 7 years ago
omar bf778ebb7e Checkbox: Using checkmark. MenuItem: Tweaked checkmark, thicker. 7 years ago
omar 03b76bf05b Begin: Marked 5 parameters version of Begin() as obsolete. Now waiting for a riot to happen! 7 years ago
omar 78a85ba3fe Begin: Work toward obsoleting the 5-arguments Begin() overload. Internal BeginEx() becomes the normal public Begin() again! (4) 7 years ago
omar 2739b6ebcd Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed bg_alpha from internal BeginEx(). (3) 7 years ago
omar 4aa9d2089d Begin: Work toward obsoleting the 5-arguments Begin() overload. Removed size_on_first_use from internal BeginEx(). (2) 7 years ago
omar 55d873875e Begin: Work toward obsoleting the 5-arguments Begin() overload. (1) 7 years ago