Commit Graph

1781 Commits (d79ca9b0b682681698ac12132d2c87673b986552)

Author SHA1 Message Date
omar f0348ddffc Amend 0f86116, renamed to ImGuiKey_KeyPadEnter Changelog.. (, )
Aaron Cooper 0f86116a69 Adding an ImGuiKey 'ImGuiKey_EnterSecondary' to support platforms that differentiate the enter (return key) and the numpad enter key.
omar ea79992d9a Fixed old SetWindowFontScale() api value from not being inherited by child window. Added comments about the right way to scale your UI (load a font at the right side, rebuild atlas, scale style).
+ Added missing IMGUI_API marker to the EmptyString storage used by ImGuiTextBuffer. ()
omar e6a286b3a5 Style: Added style.ColorButtonButton (left/right, defaults to ImGuiDir_Right) to move the color button of ColorEdit3/ColorEdit4 functions to either side of the inputs.
omar a35f42f123 Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). (, )
omar 7a9d32acee Fixed unnecessary test in UpdateMouseWheel() (thanks PVS).
TreeNodeBehavior: avoid computing bg_col for non-framed non-active tree nodes.
Comments, binaries update, minor typos.
omar e461e7bc7a Moved ImGuiColumnsFlags erroneously forward declared in imgui.h + demo bit.
omar d52c6316c8 Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
omar e66799f79a Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui.
omar d23f1b1409 fonts/binary_to_compress: display error message when failing to open file + misc comments.
kevreco caf119a982 Added 'SetScrollHereX' and 'SetScrollFromPosX' ()
omar 41e2d4b5ae ImDrawListSplitter: Fixed memory leak when using low-level split api (was not affecting ImDrawList api, also this type was added in 1.71 and not advertised as a public-facing feature).
omar f563e1a504 Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology.
omar e9b92d1cef Disable -Wpragmas warning in GCC to avoid relying on version checks, as unusual/forks/mods don't appear to always have same warning<>version. ()
+ Fix version number in imgui.h
omar af3080b81b Removed redirecting functions/enums that were obsoleted in version 1.51 (June 2017): ImGuiCol_Column*, ImGuiSetCond_*, IsItemHoveredRect(), IsPosHoveringAnyWindow(), IsMouseHoveringAnyWindow(), IsMouseHoveringWindow(), IMGUI_ONCE_UPON_A_FRAME.
omar 5286ecb8a7 Version 1.72 WIP
omar 2da1c66d15 Version 1.71 + comments
omar 4597632662 Readme, comments, dear imgui prefixes
omar a9b5c834b6 ImDrawListSplitter: Don't merge draw commands when crossing a VtxOffset boundary + Renamed fields ImDrawChannels to consistently suggest those are internal structures.
omar d8435c7710 ImDrawListSplitter: Fix idx offset when merging (cef88f6) ()
omar fea5f70611 ImDrawCallback: Allow to override the signature of ImDrawCallback by #define-ing it. This is meant to facilitate custom rendering back-ends passing local render-specific data to the draw callback.
omar 480d57e6a2 Revert "Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. (, , , , )"
This reverts commit 597c024904.
omar 597c024904 Changed syntax for (very rarely used) IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT mechanism, instead you only need to '#define ImDrawVert MyDrawVert' to use this feature, avoiding the need to declare the entire structure within an awkward macro. Using the old macro will now error with a message pointing you to the new method. (, , , , )
omar a0994d74c2 Clarified behavior of SetNextWindowContentSize(). Content size is defined as the size available after removal of WindowPadding on each sides. So SetNextWindowContentSize(ImVec2(100,100)) + auto-resize will always allow submitting a 100x100 item without creating a scrollbar, regarding of WindowPadding.The exact meaning of ContentSize for decorated windows was previously ill-defined.
omar b9874a2423 Comments about obsoleted features version. Todo. Clarify tab bar initial offset (useful if we decide to remove the half-windowpadding clip margin).
omar f1f4b42d91 ImDrawListSplitter: extracted out of ImDrawList. Down the line we may obsolete the ImDrawList functions and encourage users to store the splitter aside, in the meanwhile ImDrawList holds a splitter.
(This will allow columns/table to recurse.)
omar 7755cbbef2 Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. () + Fix OpenGL3 code missing flag.
omar d1e8b698d0 ImDrawList: Added ImDrawCmd::VtxOffset value to support large meshes (64k+ vertices) using 16-bits indices. To enable the feature, the renderer back-end needs to set 'io.BackendFlags |= ImGuiBackendFlags_HasVtxOffset' and honor the ImDrawCmd::VtxOffset field. Otherwise the value will always be zero. This has the advantage of preserving smaller index buffers and allowing to execute on hardware that do not support 32-bits indices.
ImDrawList: Added ImDrawCmd::IdxOffset value, equivalent to summing element count for each draw command. This is provided for convenience and consistency with VtxOffset. ()
omar 40b9e5e0b4 ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
omar c487bc52a2 Fonts: Added some details about using custom colorful icons.
omar 9c35344175 Comments, todo entries, moved ImGuiSelectableFlagsPrivate in higher ranges to match others.
omar 958d75c00a Style: Added style.WindowMenuButtonPosition (left/right, defaults to ImGuiDir_Left) to move the collapsing/docking button to the other side of the title bar.
omar b85e97137d Version tag is 1.71 WIP oops
omar 34b881eb12 ImFontGlyphRangesBuilder: Fixed unnecessarily over-sized buffer, which incidentally was also not fully cleared. Fixed edge case overflow when adding character 0xFFFF. ()
omar d3a387cc18 Fixed InputFloatX, SliderFloatX, DragFloatX functions erroneously reporting IsItemEdited() multiple times when the text input doesn't match the formatted output value (e.g. input "1" shows "1.000"). It wasn't much of a problem because we typically use the return value instead of IsItemEdited() here. (, )
omar 632469d2e5 Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
omar ef13d95466 IO: changed AddInputCharacter(unsigned short c) signature to AddInputCharacter(unsigned int c).
Examples/Backends: Don't filter characters under 0x10000 before calling io.AddInputCharacter(), the filtering is done in io.AddInputCharacter() itself. This is in prevision for fuller Unicode support. (, )
omar e29176df53 Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block.
omar 42fc563fed Version 1.71 WIP + fixed minor typo
omar d1d5075b66 Version 1.70
omar 526e2303bc Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. (, )
omar 9c1f02a42c Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
omar 2dc81057ec Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button releas efollowing the double-click. Only first mouse release + second mouse down (double-click) returns true. Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. ()
omar 5c1cd5c8c7 ImDrawCallback_ResetRenderState, Examples: Added support for reset render state callback. (, , )
omar 3fbc0b7a9e Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function.
omar 6db0766564 Misc comments, internal renaming, added disable indentation option to Columns demo section.
omar 16e9b8191b Increased IMGUI_VERSION_NUM arbitrarily, help narrowing down reports that don't include a commit hash. Add comments.
omar 5078fa208b Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
omar f355a40367 Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
omar 1aeee9d40f Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
Renamed SameLine() first parameter.
omar c8fd4afd75 Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly.
omar 512d39d031 Examples: OpenGL3: Minor tweaks, clarifications + not calling glBindBuffer more than necessary in the render loop.
omar 20188b19d6 Comments () + Freeglut fixes ()
omar 221bf93a55 Comments, todo list, remove trailing spaces.
omar 857381b9ca GetMouseDragDelta(): also returns the delta on the mouse button released frame. Verify that mouse positions are valid otherwise returns zero. Removed obsolete comment. Tweaked demo. ()
omar cf2c52282d Version 1.70 WIP
omar 55c02099c5 Version 1.69, comments, typos
omar a92c587c75 Added GetGlyphRangesVietnamese() helper. ()
Bruce Mitchener 17c567c3a9 Don't use const qualified parameters in declarations.
This fixes warnings from clang-tidy like this:

    parameter 'v_max' is const-qualified in the function declaration;
    const-qualification of parameters only has an effect in function definitions

Since values (rather than references or pointers) don't need to be
const, they don't need to be marked that way in the function declaration.
Haldean Brown 79bb4ce128 Added ImGuiColorEditFlagsFlags_InputHSV. (, )
omar 66936880ba Moved placeholder sections to match Docking branch. Comments.
Bruce Mitchener 3b11505481 Fix typos. ()
omar 1c23981782 Made ImS8 and ImS16 explicitly signed in case some crazy SDK decide to flip the signedness over. ()
Lucas Lazare ab80ee6453 Added InputTextWithHint() ()
Squashed commit of the following:

commit 1970d84051d3878f8c1354d9c33c795d9c66143f
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Tue Mar 5 12:20:39 2019 -0500

    Removing sneaky tabulations #2 (why, editor T-T)

    I should update my settings, I guess

commit 219bdfcb7fbd17edf3048cb0edfde2532e4d6ac3
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Tue Mar 5 12:17:27 2019 -0500

    Removing useless check introduced in b0d172

commit 8afd7a2b459df0eb14eca88d832d2bebd1e684e6
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Tue Mar 5 11:49:24 2019 -0500

    Removing sneaky tabulations

commit 8e0490863126d63cafc782a6aac8707e44f95653
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Tue Mar 5 11:45:13 2019 -0500

    Moving InputTextHinted code to InputTextEx

commit b0d1723a2fb02d17ba15b9c1e679dedbbe3c17fd
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Tue Mar 5 00:23:02 2019 -0500

    C++11 to C++98

commit 9afeae399826015357962607b4aeb0109fde698e
Author: Lucas Lazare <lazarelucas@yahoo.fr>
Date:   Mon Mar 4 23:43:28 2019 -0500

    Added InputTextHinted
omar ce4e62649a Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget.
omar 622a27506a Text: Fixed large Text/TextUnformatted call not declaring its size when starting below the lower point of the current clipping rectangle. Somehow this bug has been there since v1.0! It was hardly noticeable but would affect the scrolling range, which in turn would affect some scrolling request functions when called during the opening frame of a window.
omar f4dd990e38 Comments and Issue Template
omar 94e794f81b Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). ()
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
omar 96b13760d4 Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. ()
omar 736d3e2654 DragScalar, InputScalar, SliderScalar: Added support for u8/s8/u16/s16 data types. We are reusing function instances for larger types to reduce code size. (, , , )
omar 525a53a86b Comments
omar 6de09a5e48 Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is anticipation of adding new flags to ColorEdit/ColorPicker functions which would make those ambiguous. () [@haldean]
haldean 8a2f6866a6 add _Show prefix to color flags that control inputs, rename __InputsMask to __ShowMask
This is anticipation of changing __InputsMask to control the format of
input colors, and adding _InputRGB and _InputHSV to change how input
colors are interpreted.
omar cd67d4d3c1 Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute tree depth instead of a relative one. Fixed CollapsingHeader trailing ascii representation being "#" instead of "##". Minor tidying up the of code.
omar 257f5d204e Version 1.69 WIP
omar 3c15dffc94 Version 1.68
omar f977871854 ImFont: Minor adjustment to the structure.
Examples: Removed unused variable.
omar 76dbff37cd Selectable: Tweaks for (demo, changelog, member position)
haldean b277cfffc8 Selectable: add support for specifying text alignment on selectables ()
Adds a style variable to Selectable that allows clients to specify the
text alignment within Selectables, adds a section in the demo to
demonstrate selectable text alignment, and a pair of sliders in the
style editor to change selectable alignment on the fly.

In terms of implementation, this one is extremely simple: Selectable was
already calling an API that supports text alignment, but had hard-coded
it to top-left. This changes that to just pass the style variable
straight through to RenderTextClipped. Backwards-compatibility is
preserved by defaulting the text_align parameter to (0, 0), i.e.,
top-left.

This also fixes a bug with selectable text rendering that caused
right-aligned text in a selectable to be clipped incorrectly, because
the wrong clipping rectangle was being used.
omar 57a586b4f1 Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes.
omar 0640b6e67c Shallow tweaks
omar a79785c0b9 ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays. If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (, )
Examples: Metal, OpenGL2, OpenGL3: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. () Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
omar 4b41d3b280 ImFont: Rearranged members toward an optimal CalcTextSize() loop. Removed comments from destructor. Made constructor more explicit.
omar e3dd95d335 Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions which are useful to implement variety of undo patterns. (, , )
omar d38f4dc143 Tabs: Non-docking tab bars are storing names to allow tab list button + whole style scaling. Added ImGuiTabBarFlags_TabListPopupButton flag to show a popup button on manual tab bars. Locking FramePadding for the scope of a tab-bar to avoid sheering/clipping of tab item. Made scaling of tab ellipsis less awkward. (, )
omar d93e3c17fc ImGuiTextBuffer: Fix size() to allow using ImGuiTextBuffer with resize(0) patterns.
omar ac6d474103 Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
omar 52a9f8bd3e Merged from Docking branch: Various small changes, comments, typos fixes, moved blocks. To reduce overall drift. Should be no-op.
omar 699e945a82 Merged from Docking branch: non-const ImVec2[] operator.
Michael Savage 2d363fa315 Fixed doc typo ()
omar b26ac92a12 Revert "Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages)."
This reverts commit 20bc06af70.
omar ee3b4f2bf1 Using IM_UNUSED() macro.
omar c3c2cd1e82 Fix various XCode and PVS-Studio static analyzer warnings ()
omar 20bc06af70 Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages).
omar 28901dd104 Internals: Tweaks. Comments about PushID/GetID public function.
omar 00ffdb9fa9 ImGuiTextBuffer: Added append() function (unformatted).
omar 2c38b32db1 Removed trailing spaces (, )
omar f94ba546ba Added checks for "zero-as-null-pointer-constant" warnings for older Clang (, followup to )
omar 09f1cb642b FreeType: Minor tweaks previous commit ()
omar 95ee99e6aa Version 1.68 WIP
omar 7a5058e3bf Version 1.67
omar 6e41745f31 Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ()
omar abdd39b700 Merge branch 'atlas_fixes'
omar 49994ceb6e FAQ entry, moved ImTextureId, Gallery links.
omar 9a9712807e ImFontAtlas: Rewrote stb_truetype based builder.
- Atlas width is now properly based on total surface rather than glyph count (unless overridden with TexDesiredWidth).
- Fixed atlas builder so missing glyphs won't influence the atlas texture width. ()
- Fixed atlas builder so duplicate glyphs (when merging fonts) won't be included in the rasterized atlas.
omar 7ed8e55fc7 ImVector: Added size_in_bytes() helper.
omar e4c19f5af1 ImFontGlyphRangesBuilder: Using 32-bits fields for storage instead of 8-bit ones, comments, todo.
omar 7ffbcfe467 ImVector: Made reserve() another silly one-liner. It's not longer than other functions and our weird obsessions deserve to be carried with stringent consistence. + Comments
omar 1f6e0b2f98 ImVector: Made a struct. Using T/T* in the code instead of value_type/iterator. Renamed index_from_pointer() to index_from_ptr() (was not documented, added in 1.63, users not supposed to use ImVector, hopefully not a big deal).
omar 9ad341902d ImDrawList: Optimized some of the functions for performance of debug builds where non-inline function call cost are non-negligible.
omar 1ae7f88495 Tabs: Added ImGuiTabBarFlags_NoTooltip flag. (, ) + added helpful assert
omar 5cb7ce2085 Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
omar 1353c74dcf Comments/formatting on obsolete stuff
omar c3af134cc8 IO: Renamed InputCharacters[], marked internal as was always intended. AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful for automation to not have an upper limit on typing speed. Will later transition key/mouse to use the event queue later.
omar 1705a81efb Moved ImVector higher up in imgui :( because we will need it in ImGuiIO.
omar 9ba202821f Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary keep the focus on the parent window, which could steal it from newly appearing windows. ()
omar d223d1e951 Added bindings in Readme. Added internal IMGUI_DEBUG_LOG() helper. Comments, missing breaking changes note relative to imgui_impl_xxxx changes, not really part of core but worth adding in the imgui.cpp breaking change section.
omar acacd93836 Renamed extra_flags to flags in InputXXX parameters.
omar 6b97ded438 Happy new year! & comments
omar 39dde66b21 IO: Realigned all fields, very minor comments change. This is nearly a no-op if you don't ignore Spaces.
omar 5691385a33 IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( + for cimgui)
omar 89ac0ea7c1 Various user-facing comments
omar f1c7596409 Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
omar 8497948ba0 Comments, minor tweaks.
omar ccce47c6a2 Demo: Using Tabs in Style Editor and Simple Layout example. + Adding missing early out in About and Documents examples.
omar 54a60aaa40 Added BETA api for Tab Bar/Tabs widgets. (, ) (merged this feature from the from Docking branch so it can be used earlier as as standalone feature)
- Added BeginTabBar(), EndTabBar(), BeginTabItem(), EndTabItem(), SetTabItemClosed() API.
- Added ImGuiTabBarFlags flags for BeginTabBar().
- Added ImGuiTabItemFlags flags for BeginTabItem().
- Style: Added ImGuiCol_Tab, ImGuiCol_TabHovered, ImGuiCol_TabActive, ImGuiCol_TabUnfocused, ImGuiCol_TabUnfocusedActive colors.
- Demo: Added Layout->Tabs demo code.
- Demo: Added "Documents" example app showcasing possible use for tabs.
omar cc1283fb78 Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID, as a convenience to avoid using the ### operator. (merged from Docking branch)
omar 15447f5b7b Using named flags instead of 0 + shallow formatting tweaks from other branches.
omar 9476e07d5a Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups). This affects clamping window within the visible area: with this option enabled title bars need to be visible. ()
Tweaked default value of style.DisplayWindowPadding from (20,20) to (19,19) so the default style as a value which is the same as the title bar height.
omar 59f3c4fc20 Renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges and removed its [Beta] mark. Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
omar b58bd5b311 Version 1.67 WIP + todo notes
omar eb311abc92 Fixed IMGUI_API tag on ImFontAtlas::IsBuilt() preventing to build as DLL on some setups. ()
omar 10e13dd6bb Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
omar 801645d350 Version 1.66b (will revisit how to change IMGUI_VERSION_NUM across versions, this commit reduces the numerical IMGUI_VERSION_NUM compared to the commit on Nov 22).
omar 7658035e5a About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
omar 3849def253 Added ShowAboutWindow(), About Window now showing various config/build information.
omar 4a94b251fd Comments
omar 4105cc7e97 Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
omar 1fa2cb8748 imgui.h: Comments
omar ce07d55d1b imgui.h: Moved ImGuiListClipper
omar 8495c931c0 mgui.h: Moved ImGuiInputTextCallbackData,, ImGuiSizeCallbackData, ImGuiPayload structures so they are not in the "Helpers" section.
omar d27ffefbd4 Version 1.67 WIP
omar da3c4330c1 Version 1.66
omar 19b4fcdacb Made IsWindowFocused() work outside of NewFrame()-EndFrame() and added comments about how ImGuiFocusedFlags_AnyWindow should NOT be used in place of io.WantCaptureMouse. ()
Konstantin Podsvirov faecf90383 SliderAngle: Added optional `format` argument to allow users customize precision and make localization. ()
omar a72d5ada61 Misc comments improvements
omar 000c1fc221 Demo: Added comments / tweaks related to the popups.
omar 5be915d6ab Added ImGuiWindowFlags_NoMouseInputs which is basically the old ImGuiWindowFlags_NoInputs (essentially we have renamed ImGuiWindowFlags_NoInputs to ImGuiWindowFlags_NoMouseInputs). Made the new ImGuiWindowFlags_NoInputs encompass both NoMouseInputs+NoNav, which is consistent with its description. (, )
omar 90b50bd4c3 Window: Added ImGuiWindowFlags_NoBackground flag for consistency and to ease creating new flag combinations. Added ImGuiWindowFlags_NoDecoration helper flag which is essentially NoTitleBar+NoResize+NoScrollbar+NoCollapse. ()
Elias Daler 8606d9fa11 Fix Clang/GCC's null-conversion warning: ()
The warning is "implicit conversion of NULL constant to 'unsigned int' [-Wnull-conversion]". Happens when ImTextureID is not a void*, but unsigned int, for example.
omar 0fe48cbb61 Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.(, )
Added misc/README file.
omar 74c0309126 InputText: Clarified comments around ImGuiInputTextFlags_CallbackResize and other callbacks. (, , )
omar d02b11dfbd ImGuiTextBuffer: Avoid heap allocation when empty.
omar 1efafa1d29 Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
omar e623be998d Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ()
Loïc HAMOT 9aae21483a Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ()
omar 61d94ff88e Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
omar a7d3ae8937 BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack to the provided string to uniquely identify the child window. This was undoing an intentional change introduced in 1.50 and broken in 1.60. (, , ) + reworked the Begin/BeginChild comments in imgui.h.
omar 781a7950d7 ImVector: Fixed a oddly unqualified return type in the assignment operator (I assume C++ handles it nicely as this never warned anywhere, but it is completely unintentional).
ice1000 201fcfd2e5 Internals: Replace unsigned short with ImWchar when dealing with character storage. ()
omar eb7033e75b Version 1.66 WIP
omar e0cab5664a Version 1.65
omar 65876f348a Nav: Removed the [Beta] tag from various descriptions of the gamepad/keyboard navigation system. Although it is not perfect and will keep being improved, it is fairly functional and used by many. ()
omar 77ba883f23 Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. () + changed ImGuiIO layout.
omar bbcc976739 Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
omar b944aa623c Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
omar bcb1441ce7 Version 1.65 WIP
omar 48db5713d6 Version 1.64
omar f2aa124eb8 Version 1.64 WIP
omar 9e0f24dcb6 Version 1.63
omar ec148988f0 Reordered some declarations in imgui.h (in prevision of 1.64 refactor)
omar a082692b0a ImFontAtlas Comments () + added ImGuiFontAtlas_None for consistency.
omar 042f88e5f0 Removed obsolete redirection functions: CollapsingHeader() variation with 2 bools - marked obsolete in v1.49, May 2016.
omar 3612885dea Comments, demo
omar 0810d57819 Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). (, , , )
omar e28b1078f5 Added IsItemEdited() to query if the last item modified its value (or was pressed). This is equivalent to the bool returned by most widgets. It is useful in some situation e.g. using InputText() with ImGuiInputTextFlags_EnterReturnsTrue. ()
omar 102d5e6de6 Rearrange header comments to find enums easily + fixed inconsistent sorting.
omar ea9f5d7600 Added optional misc/stl/imgui_stl.h wrapper to use with STL types (e.g. InputText with std::string). (, , , )
omar 8d639ec60d InputText: callback InsertChars() support resize callbacks correctly (followup to 24ff259) + fixed demo to use those functions. (, , ).
omar 2dc5ec95d7 Internals: InputText: Renaming. Comments.
omar 9f393c38e9 InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete).
omar 24ff259816 InputText: Added support for buffer size/capacity changes via the ImGuiInputTextFlags_CallbackResize flag. (, , ).
omar 4de6e1f7e4 InputText: Internal renaming of some fields + final copy uses edit_state.CurLenA+1 instead of buf_size.
omar e6c78f9470 InputText: (Breaking change) removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly) ()
omar 5942c08143 Added IMGUI_VERSION_NUM for easy compile-time testing. ()
omar 8972ebae73 Metrics: Added io.MetricsActiveAllocations, moving away from the cross-context global counters than we previously used. (, , )
omar 4e33aeed82 Selectable: Added ImGuiSelectableFlags_Disabled flag in the public API. ()
omar bc6ac8b2ae Metrics: Changed io.MetricsActiveWindows to reflect the number of active windows (!= from visible windows), which is useful for lazy/idle render mechanisms as new windows are typically not visible for one frame.
Metrics: Added io.MetricsRenderWindow to reflect the number of visible windows.
omar cc64bd9e3c Comments
omar 87e2fea09d Renamed io.OptResizeWindowsFromEdges to ConfigResizeWindowsFromEdges, io.OptCursorBlink to io.ConfigCursorBlink, io.OptMacOSXBehaviors to ConfigMacOSXBehaviors for consistency. (, , , , )
Demo: Exposed flags in Demo.
omar faf2c34149 Drag and Drop: Added ImGuiDragDropFlags_SourceAutoExpirePayload flag to force payload to expire if the source stops being submitted. (, ).
omar d5400d9517 Fixes for pre-C++11 compilers.
That said, I think we can consider upgrading requirement to an early VS-friendly subset of C++11. The thing I would like the most from C++11 are forward-declared enum (from VS 2012 onward).
omar 4ebd442a24 Added asserts to catch illegal modifications of the font atlas between NewFrame() and EndFrame()/Render(). ()
omar e07f5d4c78 Changed ImGui::GetTime() return value from float to double to avoid accumulating floating point imprecisions over time.
Elias Daler af38a5c41a Ignore GCC warning (-Wclass-memaccess) in imgui.h ()
omar 048add5ef2 ImGuiTextFilter, TextRange: removed cruft from TextRange since it's not a publicly and generic helper at the moment + marked internal stuff + changed a reference to a pointer. ()
omar 23288547ec Revert part of c7016c2 incorrectly renaming ImGuiCol_NavWindowingHighlight to ImGuiCol_NavWindowListHighlight, that was wholly unnecessary (and not documented!). (also invalidate )
omar 59fb3274a7 Examples: include for intptr_t on tdm-gcc + mingw32 () + mouse buttons comments
omar 9007dff5eb IsItemHovered(): Added ImGuiHoveredFlags_AllowWhenDisabled flag to query hovered status on disabled items. (, )
+ shallow changelog tweaks
omar 17f36038e0 Internals: Misc/shallow merge from Docking branch.
omar c7016c25e8 Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ()
omar a33f0d1f7f Drag and Drop: Fixed ImGuiDragDropFlags_SourceNoDisableHover to affect hovering state prior to calling IsItemHovered() + fixed description. ()
omar 42bf149ac6 Removed per-window ImGuiWindowFlags_ResizeFromAnySide beta flag in favor `io.OptResizeWindowsFromEdges=true` to enable the feature globally. () The feature is not currently enabled by default because it is not satisfying enough.
omar 665bd1e140 Links and thanks. Comments on using BeginCombo/EndCombo + moved the Combo() implementations closer to each others to maximize user seeing how it is implemented from any of the secondary function body.
omar 62b3d7c51e Fixed software Hand cursor from not actually working. Fixed demo from crashing. Fixed typo and extraneous trailing space. Added Changelogs. (, )
Aiekick ecd9a223e3 add hand cursor support (+11 squashed commit)
omar 242d7e0b0b ImVector: Added index_from_pointer() helper.
omar 7adae3299e Double-click on resize grip doesn't need to test HoveredWindow (as button has the flattenchild flag anyway) + double-click on title bar verify that we don't have overlapping items to allow contents in title bar. + Comments
omar c1d8dee6c5 Version 1.63 WIP
omar 1b74e3be02 Version 1.62
omar cac4c3f9b8 Examples: The functions in imgui_impl_xxx.cpp are prefixed with IMGUI_IMPL_API (which defaults to IMGUI_API) to facilitate some uses. () + Comments in imgui.h
omar ce0b36ba10 Added _None values to various enum flags, useful for readability and some coding style likes it. (Unfortunately we can't refer to them as default value in imgui.h functions because they need to be declared below).
omar 335f6fde7e Comments + missing changelog bits in 1.52 for SetNextWindowPos, SetNextWindowPosCenter. (obsolete )
omar d57fc7fb97 Added IsItemDeactivatedAfterChange() if the last item was active previously, isn't anymore, and during its active state modified a value. Note that you may still get false positive. (, , )
omar be4b8b5615 Internals: Added GetItemID(), GetFocusID() for consistency. Made GetActiveID() inline. Comments, fixed typos, demo tweaks.
omar cd455a4600 Added IsItemDeactivated() to query if the last item was active previously but isn't anymore. Useful for Undo/Redo patterns. (, , )
omar a48815b870 Comments, changelog
omar 689ec0bd06 Merge branch 'font_min_max_advance'
omar 85f9694bd4 Big example binding refactor (manually imported from Viewport branch, stripped out of Viewport code). ()
Read examples/README.txt for some details.
ImDrawData: Added DisplayPos, DisplaySize fields honored by all backends (not strictly necessary to honor just now, but doing it to be ahead)
omar f5bf9f509c ImFontConfig: Added GlyphMinAdvanceX/GlyphMaxAdvanceX settings useful to make a font appears monospaced, particularly useful for icon fonts. ()
omar f63a404df0 Added missing IMGUI_API markers in non-inline section of the IMGUI_DISABLE_OBSOLETE_FUNCTIONS block: old Begin(), InputFloat().
omar d44faa165a Added GetGlyphRangesChineseSimplifiedCommon() helper that returns a list of ~2500 most common Simplified Chinese characters. Renamed GetGlyphRangesChinese() to GetGlyphRangesChineseFull() to distinguish other variants and discourage using the full set. ()
Changed the accumulative encoding to remove the implicit +1 which only saved a little space and made things more confusing.
omar 2a56105f85 TreeNodeEx(): The helper ImGuiTreeNodeFlags_CollapsingHeader flag now include ImGuiTreeNodeFlags_NoTreePushOnOpen. The flag was already set by CollapsingHeader(). The only difference is if you were using TreeNodeEx() manually with ImGuiTreeNodeFlags_CollapsingHeader and without ImGuiTreeNodeFlags_NoTreePushOnOpen. In which case you can remove the ImGuiTreeNodeFlags_NoTreePushOnOpen flag from your call (ImGuiTreeNodeFlags_CollapsingHeader & ~ImGuiTreeNodeFlags_NoTreePushOnOpen). ()
omar 948009a8b2 Intensive FAQ answer for the million of people asking the same questions over and over again. (, , , , )
omar 92b7d6bc4f Added ImGuiDragDropFlags_AcceptNoPreviewTooltip flag to disable drag source tooltip from the target site ()
omar bf56b6b9a5 ColorEdit3, ColorEdit4, ColorButton: Added ImGuiColorEditFlags_NoDragDrop flag to disable ColorEditX as drag target and ColorButton as drag source. ()
omar 7c7e96e1aa ImVector: added erase(it first, it last) helper. Added erase_unsorted(it) helper. + todo fixes/additions
omar d5c8f404b2 Remove trailing white spaces.
omar 036dce634e Version 1.62 WIP
Kirill Artemov 721ca97d95 ImVector: Tweaked reserve() flow to avoid calling MemFree(NULL) which is unnecessary. ()
omar 78b28d545f Version 1.61 + todo additions
omar f8ca7f45c4 Comments about AddConvexPolyFilled(), PathFillConvex() requiring a clockwise order path. ()
omar fc7fc83f9e Data types: DragScalar, InputScalar: default parameters. Added IM_STATIC_ASSERT(). Comments.
omar 0dc18a6ca6 Documentation tweaks, comments
omar 8149408408 Merge branch 'data_types'
# Conflicts:
#	CHANGELOG.txt
#	imgui.cpp
omar f83f566530 Internals: Nav: Extracted code into a NavClampToVisibleAreaForMoveDir() + fix debug code + inline some functions, removed obsolete EndChild() comment.
omar 8da0d42ef2 Moved DragScalar, InputScalar, SliderScalar to imgui.h as well as ImGuiDataType (, , , )
omar f13f10e725 Settings: Comments (, )
omar 0bf43b3a1b Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. (, )
omar 3e8087458d SliderScalar, VSliderScalar(): Support for any data types. Tested with various ranges/limits. Note that Drag/Slider/Input currently fail if the format string doesn't preview the actual value. Will fix next. (, , , )
omar dbe16b6a70 Made IMGUI_DISABLE_OBSOLETE_FUNCTIONS exceptionally not affect the layout of ImGuiIO. ()
omar 086c3925c4 Internals: Fixed DragInt* default format string. InputScalar(), InputScalarN(), removed InputFloatN(), InputInt(). Note that DragInt2/3/4 will %f format strings will currently be broken. (, , , )
omar 4780ac1ca4 Internals: Data types: Added s64, u64 data types. Added support in InputScalar(). Removed internal.h InputScalarEx() to InputScalar(). Removed cheap-relative-operators support in recently added U32 data path, since this is heading toward being legacy code. + Fixed InputDouble parsing code. (, , )
omar d9fa1f869e Comments about using "power curves". Demo tweaks. ()
omar 429f48bb4f Clarified usage of ListBoxHeader() before we rename those functions + fixed demo code that didn't honor it correctly. ()
omar f2e9dddeca DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side.
omar f80314754c InputFloat,InputFloat2,InputFloat3,InputFloat4: Added variations taking a more flexible and consistent optional "const char* format" parameter instead of "int decimal_precision". This allow using custom formats to display values in scientific notation, and is generally more consistent with other API. Obsoleted functions using the optional "int decimal_precision" parameter. ()
omar 73445ff248 Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. (, )
omar 28edece04f Comments, minor tweaks
omar eb1c36fdfb Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (, )
omar e3453d0dc4 Misc: Comments and shallow/small changes (merged from viewport branch to minimize branch drift).
Bruce Mitchener 7ebdadf92b Fix various typos.
omar 6a0b2627ad BeginMainMenuBar: Followup to 1e41bad9. Removed public window flag. DisplaySafeAreaPadding defaults to (3,3) instead of (4.4). Comments, tab to spaces, Changelog. ()
Doug Binks 1e41bad90f Added DisplaySafeAreaPadding to MainMenuBar height and fixed starting x position. Fixes main menu bar problems with TVs. ()
daniel-murray 83d97d4a9b Fix typos KeyDown => KeysDown
omar 9117632bf0 Misc: IM_DELETE() helper function added in 1.60 doesn't clear the input _pointer_ reference, more consistent with expectation and allows passing r-value.
omar 6f1f5cbc20 Version 1.61 WIP
omar dd079fe6e6 Version 1.60 (missed the string). Will retag.
omar 8acda84202 Nav: Fixed comment. ()
omar c2fc978983 Style: Default style is now StyleColorsDark()! Toward a 1.60 release :) ()
omar c1bdab6d5b Comments about io.WantCapture flags + todo entries.
omar 2464e62a1a IO: Added ImGuiConfigFlags_NoMouse to force clear/disable mouse inputs in NewFrame().
omar 72b7f48870 Renamed ImGuiConfigFlags_NoSetMouseCursor to ImGuiConfigFlags_NoMouseCursorChange. Followup to 75c3793db5 two weeks ago. (, , ) + comments
omar 4649967112 Added extra comments and assertions to avoid user combining ImGuiCond flags. ()
omar cd1e6e384f Tooltip windows uses PopupBorderSize () + commented out debug stuff.
omar c19b27813d Added InputDouble() function. We use a format string instead of a decimal_precision parameter to also for "%e" and variants. () May transition the other InputXXX function to use format strings as well.
omar c796960ff9 InputFloat: Scientific input. InputText: Added ImGuiInputTextFlags_CharsScientific to add 'e' 'E' to list of characters that can be input. (later useful for )
omar 75c3793db5 IO: Added ImGuiConfigFlags_NoSetMouseCursors. Added ImGuiBackendFlags_HasMouseCursors, ImGuiBackendFlags_HasSetMousePos. (, , )
omar dcf7c3d188 Added ImGuiBackendFlags for backend to expose its capabilities. Added ImGuiBackendFlags_HasGamepad. (, )
omar 170f44e6f0 IO: Renamed io.WantMoveMouse to io.WantSetMousePos (was added in 1.52, _not_ used by core and only honored by some binding ahead of merging the Nav branch) + internal renaming ()
omar 70d500502a ImVector: Fixed insert() helper using the = operator (followup to be consistent with 4186c2c2b1)
omar 33ad8b2f0c Nav: Track nav input source more generally (gamepad vs keyboard) () + update todos and demo tweaks
omar d8d93f6360 imgui.h: Various comments and tweaks.
omar 6fe22e6297 imgui.h: Moved columns lower in the file. Various spacing changes and minor comments.
omar 6bda816ffe ImVector: Added copy/assign operators as helpers to ease cloning of data.
omar 1e296453ef ImDrawList: Added Clone() helper function.
omar 4186c2c2b1 ImVector: resize() / push_back() use memcpy() as we are not supposed to be constructor/destructor/operator aware at all. (If we do need to rework ImVector). In turn this will allow us to define assign/copy operators.
omar d68be086b2 ImVector: Using value_type consistently. Spacing.
omar 533c86a7a3 Update TODO list, minor fix in Readme, comments, Clang -Weverything warning fix in imgui_draw.cpp under Windows.
omar 0e3a6ef4f7 Moved IM_NEW, IM_DELETE helpers to imgui.h for convenient use by back-ends and user code.
omar 7b833dabc8 ImVector: Spacing, assert tweaks
omar 26296bb4c1 Misc: Fix 111ea7af77, GetStyleColorName() would assert, removed removed ImGuiCol defines (too much risk/complexity trying to silently ignore it).
omar 111ea7af77 Misc comments, todos + reintroduced removed ImGuiCol defines under !IMGUI_DISABLE_OBSOLETE_FUNCTIONS wrap.
omar e7670c0bcc Style: CloseButton() now display a proper cross. Using Button colors for background. Removed ImGuiCol_CloseButton, ImGuiCol_CloseButtonActive, ImGuiCol_CloseButtonHovered as the closing cross uses regular button colors now. ()
omar 1f6ad7a894 ImFont: Added FindGlyphNoFallback. Fixed MergeMode broken by 1ef1acbd8d
omar a3d5f92214 Merge branch 'master' into font_offset
omar 1ef1acbd8d Font: Fixed MergeMode adding duplicate glyphs data instead of reusing existing (broken by 072d6d8cb5)
omar 3dfac93ebe Fonts: Fixed debug name not being zero-terminated if longer than storage buffer + made buffer slightly longer as well.
omar 642c6748ac Comments, Changelog
omar a1f3949d71 Drag and Drop: Increased payload data type to 32 characters. ()
omar 0ec356eb6e Comments, FAQ update.
omar 69e700f869 Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added
omar 8a4093f38b Added ArrowButton(). Exposed ImGuiDir.
omar 1549c5cf5e BeginCombo(): Added ImGuiComboFlags_NoArrowButton and ImGuiComboFlags_NoPreview flags + hover color matches drag and sliders.
omar df8a9c49eb Allow user to override ImTextureId. ()
omar 6797ee4b68 Nav: Added links to PNG/PSD files for PS4 and Switch. Fixed suggested Joy-con mapping as per typical Nintendo-style mapping. ()
omar b3594a6407 Added ImGuiConfigFlags_IsSRGB, ImGuiConfigFlags_IsTouchScreen (strictly for user storage)
omar 2c9f45bbe7 Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ()
omar 27667fc035 TreeNode: Renamed Beta ImGuiTreeNodeFlags_NavCloseFromChild to ImGuiTreeNodeFlags_NavLeftJumpsBackHere. ()
omar 79969931e6 ImDrawList: PushTextureID(): Removed unnecessary param by reference.
omar 2c3c5125b3 Drag and Drop: BeginDragDropSource(): temporarily removed the optional mouse_button=0 parameter because it is really usable in typical conditions at the moment. (, )
omar 1399c9c8a9 Merged a bunch of small inconsequential things from my work branch, to reduce the diff noise.
omar 7c75835200 Renamed misleading ImGuiMouseCursor_Move to ImGuiMouseCursor_ResizeAll. SDL: Fixed cursor. ()
omar 63332d152a Obsoleted the io.RenderDrawListsFn callback, you can call your graphics engine render function after ImGui::Render(). Use ImGui::GetDrawData() to retrieve the ImDrawData* to display..()
Examples: Updated examples.
omar 30c469f7c5 ImFont: DisplayOffset.y defaults to 0 instead of +1.
omar 024e23c4d7 Comments, moved ImFontAtlas::Flags to "public" area.
omar fed0a884f7 ImFontAtlas: Added ImFontAtlasFlags_NoPowerOfTwoHeight, ImFontAtlasFlags_NoMouseCursors flags. ()
omar 9263bd68db Fixed legacy forward function IsRootWindowOrAnyChildHovered() broken by a63fbbca8b
omar 7cc1bc7635 Added IsAnyMouseDown() helper.
Examples: DirectX9/10/11: Using IsAnyMouseDown() instead of local function.
omar 88dcbeb7ff Styles: Comments and re-ordered.
omar 8099f8c270 Comments
omar 7c16d52f72 Updated version to 1.60 WIP to emphasis on the addition of required calls CreateContext/DestroyContext + merged the massive Navigation branch (, )
omar f0364aa359 Merge branch 'context'
# Conflicts:
#	examples/allegro5_example/main.cpp
#	examples/directx10_example/main.cpp
#	examples/directx11_example/main.cpp
#	examples/directx9_example/main.cpp
#	examples/marmalade_example/main.cpp
#	examples/opengl2_example/main.cpp
#	examples/opengl3_example/main.cpp
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/vulkan_example/main.cpp
omar 4e5b7612ae Nav: Documentation tweaks. ()
omar 3171f90a1a Nav: Keyboard is now automatically mapped based on io.KeyDown[]. ()
omar 9e3a807813 Removed comments
omar 057807f4a7 Added ImGuiKey_Space, mapped in every examples. Will be required for navigation. ()
omar 7e32fc7109 Nav: Toward automatically mapping keyboard input. Renamed ImGuiNavInput_PadXXX to ImGuiNavInput_XXX. Renamed ImGuiNavInput_KeyXXX to ImGuiNavInput_KeyXXX_ (internal). ()
omar ed4bbc4fd4 Nav: Comments, guides.
omar cea8017e0b Merge branch 'master' into context
omar 3b7bd4563a ImVec2: added [] operator. This is becoming desirable for some types of code, better added sooner than later.
omar ad09396672 ImVec2: added [] operator. This is becoming desirable for some types of code, better added sooner than later.
omar 92ee6b1185 Nav: Sets io.WantCaptureKeyboard when navigation is active. This is a little agressive but probably the best default and also a good way to get feedback. Added ImGuiNavFlags_NoCaptureKeyboard to disable this behavior. Comments. ()
omar 5c83b55d04 Nav: Added ImGuiWindowFlags_NoNav shortcut, comments. ()
omar 8ad88f725c Nav: Minor tidying up. ()
omar 0bd15b52a6 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 147ec8d1e2 Style Added style.MouseCursorScale, may remove ().
omar ce9d7baaba Nav: TreeNode: Added ImGuiTreeNodeFlags_NavCloseFromChild flag, allow closing a TreeNode() from any of child. The explicit flag is not great, perhaps allowing some form of inheritance would help. (, )
omar 27980d9688 Merge branch 'master' into context
omar 23c11e9764 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar dd41a1650a Comments
omar bd579e5429 Nav: Removed io.NavUsable --> io.NavActive, io.NavActive --> io.NavVisible. (). NavActive takes account of NavFlags enable flags.
omar c851b33352 Nav: Added proper version of ImGuiWindowFlags_NavFlattened that handles scrolling nicely. Marked as private as I'm not happy with the name. ()
omar 2933e6765c Merge branch 'master' into navigation
omar 94090eb08f Added IMGUI_USER_CONFIG to define a custom configuration filename. (, , , )
omar 578016d08b ImVector comment ()
omar f2d5300408 Nav: Keyboard: Added CTRL+TAB (and CTRL+Shift+TAB) style window selection. ()
omar e9070e768e Nav: Fixed renaming of c09016b12a that were incorrect. ImGuiNavInput_PadLeft -> PadDpadLeft, _PadScrollLeft -> PadLStickLeft. ()
omar 5f7f27c8de Nav: Comments. ()
omar f3776055d6 Merge branch 'master' into context
omar 455989b8b1 Nav: Added io.NavFlags to hold various options. Added ImGuiNavFlags_EnableGamepad and ImGuiNavFlags_EnableKeyboard for bindings to use ()
omar c09016b12a Nav: Renamed ImGuiNavInput_PadLeft / etc. to ImGuiNavInput_PadLStickLeft. Renamed ImGuiNavInput_PadScrollLeft to ImGuiNavInput_PadRStickLeft, aka removing trying-too-hard semantic from the enums. ()
omar bd278e958e Nav: Added ImGuiNavInput_KeyLeft/Right/Up/Down set so we can differenciate gamepad/keyboard inputs. ()
ocornut 680162eb32 Merge branch 'master' into navigation
omar 823e1f0b94 Nav: Reordered NavInput enums to match directional order of ImGuiDir_ and ImGuiKey_ + comments ()
omar eb7ec781dc Nav: Tweak GetNavInputAmount(). Split debug defines.
omar f6ee8d30fb Comments ()
omar d500113f1d Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui_demo.cpp
omar 9a76fd30fd Added SetNextWindowBgAlpha() helper. () particularly helpul with the marking of the old 5-parameters version of Begin() as obsolete.
omar 2645ab5f7f Comments + added legacy renamed GetItemsLineHeightWithSpacing() as stated in the doc, fixes 6190ab0084
omar 13c407591e Nav: Comments, tweaks
omar 9076366c17 Style: Exposed ImGuiStyleVar_WindowTitleAlign, ImGuiStyleVar_ScrollbarSize, ImGuiStyleVar_ScrollbarRounding, ImGuiStyleVar_GrabRounding + added an assert to reduce accidental breakage. ()
omar 9edf211c0e Merge branch 'master' into navigation
omar 5e2aa6185c Reorganized context handling to be more explicit,
- YOU NOW NEED TO CALL ImGui::CreateContext() AT THE BEGINNING OF YOUR APP, AND CALL ImGui::DestroyContext() AT THE END.
- removed Shutdown() function, as DestroyContext() serve this purpose.
- you may pass a ImFontAtlas* pointer to CreateContext() to share a font atlas between contexts. Otherwhise CreateContext() will create its own font atlas instance.
- removed allocator parameters from CreateContext(), they are now setup with SetAllocatorFunctions(), and shared by all contexts.
- removed the default global context and font atlas instance, which were confusing for users of DLL reloading and users of multiple contexts
(, , , , )
omar 7e4d28a49d Context: Renamed SetMemoryAllocators() to SetAllocatorFunctions(). Tweaked comments. (, , , , )
omar 5a301c29dc Context: Removed allocator parameters from CreateContext(), they are now setup with SetMemoryAllocators() and shared by all contexts. (, , , , )
omar 5eb293c879 ImFontAtlas: Added TexUvScale (= 1.0f / (float)TexWidth, 1.0f / (float)TexHeight)
omar cd1409f4bf ImFontAtlas: Moved mouse cursor data out of ImGuiContext, fix drawing them with multiple context. Also remove the last remaining undesirable dependency on GImGui in imgui_draw.cpp, finishing the work recently done with ImDrawListSharedData. Hurra! ()
omar 0b1fecb792 Horizontal mouse wheel: renamed io.MouseHorizWheel to io.MouseWheelH. Reorganized the code in NewFrame(). Examples: Updated GLFW+GL and SDL+GL accordingly. ()
omar 6f6b6194b2 Merge branch 'tseeker/20171127-feature-horiz-wheel' of https://github.com/tseeker/imgui into tseeker-tseeker/20171127-feature-horiz-wheel
# Conflicts:
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
omar 8877622fa8 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar c2ffce3e5a Drag and Drop: Fix comment. Removed IMGUI_PAYLOAD_TYPE_DOCKABLE from master branch. ()
omar 63d47e8328 Drag and Drop: Increased payload type string to 12 characters instead of 8.()
omar 932d3f0198 NewFrame(): Added an assert to detect incorrect filling of the io.KeyMap[] array earlier. () + comments.
omar d1f726cd9d Comments about Begin/End pair and handling of return value.
omar 472ba1394c Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 28a76af185 Internal: DrawData: Tidying, renaming.
omar c85d7d6e49 Nav: Remove GetItemID(), hide ActivateItem() before this feature is unfinished and has issue (full feature is on hold). Undo part of 59c6f35bf6 ()
omar cd7e178eac Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 398a4e1865 Made obsolete IsAnyWindowHovered()/IsAnyWindowFocused() static inline. static only tends to trigger warnings. ()
omar a63fbbca8b Added ImGuiHoveredFlags_AnyWindow, ImGuiFocusedFlags_AnyWindow. Obsoleted IsAnyWindowHovered()/IsAnyWindowFocused() in favor of IsWindowHovered(ImGuiHoveredFlags_AnyWindow)/IsWindowFocused(ImGuiFocusedFlags_AnyWindow). Added to demo. ()
omar fe919995da Merge branch 'master' into navigation
omar ce95b84825 Added ImGuiKey_Insert for future use. Setup in all example bindings. ()
omar 168200f915 Popups: Comments, reorganize bits of the header section, renamed parameters.
omar a8e5542d78 BeginPopup: Exposed extra_flags publicly. ()
omar 66b2ee6ea2 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 407955d9fb Examples: Using IM_OFFSETOF macro. + Comments
omar 2b8224692e Merge branch 'master' into navigation
omar 0a0b252bb6 DragDrop: Removed IsDragDropActive() (introduced a few days ago, revert 06bea369c0) as our use case doesn't need it anymore. Will add it if there is a real need.
omar 9fbecac87e Demo: Improved Selectable() examples. ()
omar 96ccc484f9 Merge branch 'master' into navigation
# Conflicts:
#	imgui_internal.h
omar 3c6fbe0849 Renamed ImGuiSizeConstraintCallback to ImGuiSizeCallback, ImGuiSizeConstraintCallbackData to ImGuiSizeCallbackData.
omar 7a15fc8de5 Merge branch 'master' into navigation
omar fbf2435f38 Exposed IM_OFFSETOF() helper in imgui.h
omar eef9120e07 Reorganized comments in the IMGUI_DISABLE_OBSOLETE_FUNCTIONS function. Added an IM_ASSERT(0).
omar 2dd2ca0096 Removed CalcItemRectClosestPoint() which was weird and not really used by anyone except demo code. If you need it it's easy to replicate on your side.
Removed internal corresponding ImRect::GetClosestPoint() for now.
Essentially revert dcaafffe0e.
omar c4e6d622c1 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
#	imgui.h
omar 06bea369c0 DragDrop: Added IsDragDropActive() helper which is useful for binding to decide how to handle mouse inputs.
omar 49eed6e2d1 Version 1.54 WIP
omar 436cad4bca Merge branch 'master' into navigation
# Conflicts:
#	imgui.h
omar d9034bf2d8 ListBox() changed signature of ListBox() to match Combo(). Still not very happy about not using const char** anymore. ()
Branimir Karadžić 149523a101 Fixing error: declaration of ‘size’ shadows a member of 'this' [-Werror=shadow]
omar e916310b2e Version 1.53
omar 3d48f5b8c2 Demo: BeginCombo() demo code
omar de5c304b49 Merge branch 'master' into navigation
# Conflicts:
#	imgui.cpp
omar 1b86e7343f Renamed the emblematic ShowTestWindow() function to ShowDemoWindow(). Kept redirection function (will obsolete).
omar b1930c5672 Merge branch 'master' into navigation
omar e9ceef4762 ImVector: Revert 6172e93272 actually problematic with our current use (because we don't construct the instances).
omar ffb4f6ca8c Merge branch 'master' into navigation
omar a5739a0aa3 Fixed warning with Clang+MSVC using __int64 to define the helper ImU64 type ()