Rokas Kupstys
45405f0dc9
Font: implement a way to draw narrow ellipsis without relying on hardcoded 1 pixel dots. ( #2775 )
...
This changeset implements several pieces of the puzzle that add up to a narrow ellipsis rendering.
## EllipsisCodePoint
`ImFontConfig` and `ImFont` received `ImWchar EllipsisCodePoint = -1;` field. User may configure `ImFontConfig::EllipsisCodePoint` a unicode codepoint that will be used for rendering narrow ellipsis. Not setting this field will automatically detect a suitable character or fall back to rendering 3 dots with minimal spacing between them. Autodetection prefers codepoint 0x2026 (narrow ellipsis) and falls back to 0x0085 (NEXT LINE) when missing. Wikipedia indicates that codepoint 0x0085 was used as ellipsis in some older windows fonts. So does default Dear ImGui font. When user is merging fonts - first configured and present ellipsis codepoint will be used, ellipsis characters from subsequently merged fonts will be ignored.
## Narrow ellipsis
Rendering a narrow ellipsis is surprisingly not straightforward task. There are cases when ellipsis is bigger than the last visible character therefore `RenderTextEllipsis()` has to hide last two characters. In a subset of those cases ellipsis is as big as last visible character + space before it. `RenderTextEllipsis()` tries to work around this case by taking free space between glyph edges into account. Code responsible for this functionality is within `if (text_end_ellipsis != text_end_full) { ... }`.
## Fallback (manually rendered dots)
There are cases when font does not have ellipsis character defined. In this case RenderTextEllipsis() falls back to rendering ellipsis as 3 dots, but with reduced spacing between them. 1 pixel space is used in all cases. This results in a somewhat wider ellipsis, but avoids issues where spaces between dots are uneven (visible in larger/monospace fonts) or squish dots way too much (visible in default font where dot is essentially a pixel). This fallback method obsoleted `RenderPixelEllipsis()` and this function was removed. Note that fallback ellipsis will always be somewhat wider than it could be, however it will fit in visually into every font used unlike what `RenderPixelEllipsis()` produced.
5 years ago
omar
b59ec7b9b7
DragInt, DragFloat, DragScalar: Using (v_min > v_max) allows locking any edit to the value.
5 years ago
omar
bfcdaeb610
Disable with ConfigWindowsMemoryCompactTimer < 0.0f ( #2636 )
5 years ago
omar
62f75c7fb1
Added a mechanism to compact/free the larger allocations of unused windows (buffers are compacted when a window is unused for 60 seconds, as per io.ConfigWindowsMemoryCompactTimer = 60.0f). Note that memory usage has never been reported as a problem, so this is merely a touch of overzealous luxury. ( #2636 )
5 years ago
omar
c8418015c2
SliderScalar: Improved assert when using U32 or U64 types with a large v_max value. ( #2765 )
...
+ misc minor stuff.
5 years ago
omar
c4ff1b3578
ImDrawList: clarified the name of many parameters so reading the code is a little easier. ( #2740 )
5 years ago
omar
3fb5cf3541
Using offsetof() when available in C++11. Avoids Clang sanitizer complaining about old-style macros. ( #94 )
5 years ago
omar
f624455d7b
Version 1.73 WIP
6 years ago
omar
6a0d0dab5a
Version 1.72b (patch for nav)
6 years ago
omar
9183e7c426
Version 1.73 WIP
6 years ago
omar
ecb9b1e2eb
Version 1.72
6 years ago
omar
d057550209
Fixed Clang 8.0 warning "empty expression statement has no effect; remove unnecessary ';' to silence this" warning [-Wextra-semi-stmt]
...
+ Comment
6 years ago
omar
51853292cc
ImDrawList: Using ImDrawCornerFlags instead of int in various apis.
...
Demo: Using ImGuiColorEditrFlags instead of int.
6 years ago
omar
363d33f64e
Increased IMGUI_VERSION_NUM to facilitate transition of OSX clipboard support for framework using/embedding any version of imgui. Amend 29d9394
. ( #2546 )
6 years ago
omar
f0348ddffc
Amend 0f86116
, renamed to ImGuiKey_KeyPadEnter Changelog.. ( #2677 , #2005 )
6 years ago
Aaron Cooper
0f86116a69
Adding an ImGuiKey 'ImGuiKey_EnterSecondary' to support platforms that differentiate the enter (return key) and the numpad enter key.
6 years ago
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. (#2672 )
6 years ago
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.
6 years ago
omar
a35f42f123
Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()). Kept redirection function (will obsolete). ( #581 , #324 )
6 years ago
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.
6 years ago
omar
e461e7bc7a
Moved ImGuiColumnsFlags erroneously forward declared in imgui.h + demo bit.
6 years ago
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
6 years ago
omar
e66799f79a
Prefixed internal structs exposed in imgui.h with a fully qualified name to facilitate auto-generation with cimgui.
6 years ago
omar
d23f1b1409
fonts/binary_to_compress: display error message when failing to open file + misc comments.
6 years ago
kevreco
caf119a982
Added 'SetScrollHereX' and 'SetScrollFromPosX' ( #1580 )
6 years ago
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).
6 years ago
omar
f563e1a504
Internals: Renamed GetFrontMostPopupModal() to GetTopMostPopupModal() to be consistent. Renamed other locals to follow that terminology.
6 years ago
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. ( #2618 )
...
+ Fix version number in imgui.h
6 years ago
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.
6 years ago
omar
5286ecb8a7
Version 1.72 WIP
6 years ago
omar
2da1c66d15
Version 1.71 + comments
6 years ago
omar
4597632662
Readme, comments, dear imgui prefixes
6 years ago
omar
a9b5c834b6
ImDrawListSplitter: Don't merge draw commands when crossing a VtxOffset boundary + Renamed fields ImDrawChannels to consistently suggest those are internal structures.
6 years ago
omar
d8435c7710
ImDrawListSplitter: Fix idx offset when merging ( cef88f6
) ( #2591 )
6 years ago
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.
6 years ago
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. ( #38 , #103 , #1172 , #1231 , #2489 )"
...
This reverts commit 597c024904
.
6 years ago
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. ( #38 , #103 , #1172 , #1231 , #2489 )
6 years ago
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.
6 years ago
omar
b9874a2423
Comments about obsoleted features version. Todo. Clarify tab bar initial offset (useful if we decide to remove the half-windowpadding clip margin).
6 years ago
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.)
6 years ago
omar
7755cbbef2
Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. ( #2591 ) + Fix OpenGL3 code missing flag.
6 years ago
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. (#2591 )
6 years ago
omar
40b9e5e0b4
ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
6 years ago
omar
c487bc52a2
Fonts: Added some details about using custom colorful icons.
6 years ago
omar
9c35344175
Comments, todo entries, moved ImGuiSelectableFlagsPrivate in higher ranges to match others.
6 years ago
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.
6 years ago
omar
b85e97137d
Version tag is 1.71 WIP oops
6 years ago
omar
34b881eb12
ImFontGlyphRangesBuilder: Fixed unnecessarily over-sized buffer, which incidentally was also not fully cleared. Fixed edge case overflow when adding character 0xFFFF. ( #2568 )
6 years ago
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. ( #1875 , #2034 )
6 years ago
omar
632469d2e5
Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Refactored SetNextItemXXX stuff to match SetNextWindowXXX code closely.
6 years ago
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. (#2538 , #2541 )
6 years ago
omar
e29176df53
Internals: Columns: Renamed fields. Comments and tweak. Moved a demo block.
6 years ago
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
6 years ago
omar
d1d5075b66
Version 1.70
6 years ago
omar
526e2303bc
Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. ( #2067 , #2530 )
6 years ago
omar
9c1f02a42c
Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
6 years ago
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. ( #2503 )
6 years ago
omar
5c1cd5c8c7
ImDrawCallback_ResetRenderState, Examples: Added support for reset render state callback. ( #2037 , #1639 , #2452 )
6 years ago
omar
3fbc0b7a9e
Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead. Kept inline redirection function.
6 years ago
omar
6db0766564
Misc comments, internal renaming, added disable indentation option to Columns demo section.
6 years ago
omar
16e9b8191b
Increased IMGUI_VERSION_NUM arbitrarily, help narrowing down reports that don't include a commit hash. Add comments.
6 years ago
omar
5078fa208b
Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
6 years ago
omar
f355a40367
Added commentary about ContentRegion functions. Added internal GetContentRegionMaxScreen() to facilitate internal code at the moment.
6 years ago
omar
1aeee9d40f
Internals: Columns: Tweaks, renaming. Metrics: Show rectangles for child windows.
...
Renamed SameLine() first parameter.
6 years ago
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.
6 years ago
omar
512d39d031
Examples: OpenGL3: Minor tweaks, clarifications + not calling glBindBuffer more than necessary in the render loop.
6 years ago
omar
20188b19d6
Comments ( #2441 ) + Freeglut fixes ( #2430 )
6 years ago
omar
221bf93a55
Comments, todo list, remove trailing spaces.
6 years ago
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. ( #2419 )
6 years ago
omar
cf2c52282d
Version 1.70 WIP
6 years ago
omar
55c02099c5
Version 1.69, comments, typos
6 years ago
omar
a92c587c75
Added GetGlyphRangesVietnamese() helper. ( #2403 )
6 years ago
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.
6 years ago
Haldean Brown
79bb4ce128
Added ImGuiColorEditFlagsFlags_InputHSV. ( #2383 , #2384 )
6 years ago
omar
66936880ba
Moved placeholder sections to match Docking branch. Comments.
6 years ago
Bruce Mitchener
3b11505481
Fix typos. ( #2411 )
6 years ago
omar
1c23981782
Made ImS8 and ImS16 explicitly signed in case some crazy SDK decide to flip the signedness over. ( #2408 )
6 years ago
Lucas Lazare
ab80ee6453
Added InputTextWithHint() ( #2400 )
...
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
6 years ago
omar
ce4e62649a
Internal: Tabbing: Tweaks to FocusableItemRegister and using the standard mechanism to allow/block Tab being interpreting by tabbing instead of InputText() widget.
6 years ago
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.
6 years ago
omar
f4dd990e38
Comments and Issue Template
6 years ago
omar
94e794f81b
Renamed GetOverlayDrawList() to GetForegroundDrawList() for consistency. Kept redirection function (will obsolete). ( #2391 )
...
Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
6 years ago
omar
96b13760d4
Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered behind every other windows. ( #2391 )
6 years ago
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. ( #643 , #320 , #708 , #1011 )
6 years ago
omar
525a53a86b
Comments
6 years ago
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. ( #2384 ) [@haldean]
6 years ago
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.
6 years ago
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.
6 years ago
omar
257f5d204e
Version 1.69 WIP
6 years ago
omar
3c15dffc94
Version 1.68
6 years ago
omar
f977871854
ImFont: Minor adjustment to the structure.
...
Examples: Removed unused variable.
6 years ago
omar
76dbff37cd
Selectable: Tweaks for #2347 (demo, changelog, member position)
6 years ago
haldean
b277cfffc8
Selectable: add support for specifying text alignment on selectables ( #2347 )
...
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.
6 years ago
omar
57a586b4f1
Font: Moved functions to internal block (not enforced). Made ConfigData pointer const. Added link to stb's notes.
6 years ago
omar
0640b6e67c
Shallow tweaks
6 years ago
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. (#2306 , #1676 )
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. (#2306 ) Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
6 years ago
omar
4b41d3b280
ImFont: Rearranged members toward an optimal CalcTextSize() loop. Removed comments from destructor. Made constructor more explicit.
6 years ago
omar
e3dd95d335
Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions which are useful to implement variety of undo patterns. ( #820 , #956 , #1875 )
6 years ago
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. ( #261 , #351 )
6 years ago
omar
d93e3c17fc
ImGuiTextBuffer: Fix size() to allow using ImGuiTextBuffer with resize(0) patterns.
6 years ago
omar
ac6d474103
Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
6 years ago
omar
52a9f8bd3e
Merged from Docking branch: Various small changes, comments, typos fixes, moved blocks. To reduce overall drift. Should be no-op.
6 years ago
omar
699e945a82
Merged from Docking branch: non-const ImVec2[] operator.
6 years ago
Michael Savage
2d363fa315
Fixed doc typo ( #2326 )
6 years ago
omar
b26ac92a12
Revert "Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages)."
...
This reverts commit 20bc06af70
.
6 years ago
omar
ee3b4f2bf1
Using IM_UNUSED() macro.
6 years ago
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
6 years ago
omar
20bc06af70
Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages).
6 years ago
omar
28901dd104
Internals: Tweaks. Comments about PushID/GetID public function.
6 years ago
omar
00ffdb9fa9
ImGuiTextBuffer: Added append() function (unformatted).
6 years ago
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
6 years ago
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
6 years ago
omar
09f1cb642b
FreeType: Minor tweaks previous commit ( #2285 )
6 years ago
omar
95ee99e6aa
Version 1.68 WIP
6 years ago
omar
7a5058e3bf
Version 1.67
6 years ago
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
6 years ago
omar
abdd39b700
Merge branch 'atlas_fixes'
6 years ago
omar
49994ceb6e
FAQ entry, moved ImTextureId, Gallery links.
6 years ago
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. (#2233 )
- Fixed atlas builder so duplicate glyphs (when merging fonts) won't be included in the rasterized atlas.
6 years ago
omar
7ed8e55fc7
ImVector: Added size_in_bytes() helper.
6 years ago
omar
e4c19f5af1
ImFontGlyphRangesBuilder: Using 32-bits fields for storage instead of 8-bit ones, comments, todo.
6 years ago
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
6 years ago
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).
6 years ago
omar
9ad341902d
ImDrawList: Optimized some of the functions for performance of debug builds where non-inline function call cost are non-negligible.
6 years ago
omar
1ae7f88495
Tabs: Added ImGuiTabBarFlags_NoTooltip flag. ( #261 , #351 ) + added helpful assert
6 years ago
omar
5cb7ce2085
Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
6 years ago
omar
1353c74dcf
Comments/formatting on obsolete stuff
6 years ago
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.
6 years ago
omar
1705a81efb
Moved ImVector higher up in imgui :( because we will need it in ImGuiIO.
6 years ago
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. ( #787 )
6 years ago
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.
6 years ago
omar
acacd93836
Renamed extra_flags to flags in InputXXX parameters.
6 years ago
omar
6b97ded438
Happy new year! & comments
6 years ago
omar
39dde66b21
IO: Realigned all fields, very minor comments change. This is nearly a no-op if you don't ignore Spaces.
6 years ago
omar
5691385a33
IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends. ( #2004 + for cimgui)
6 years ago
omar
89ac0ea7c1
Various user-facing comments
6 years ago
omar
f1c7596409
Internals: Popup related comments. Renamed the misleading internal ClosePopup() function. Added bool* test to BeginPopupModal in demo.
6 years ago
omar
8497948ba0
Comments, minor tweaks.
6 years ago
omar
ccce47c6a2
Demo: Using Tabs in Style Editor and Simple Layout example. + Adding missing early out in About and Documents examples.
6 years ago
omar
54a60aaa40
Added BETA api for Tab Bar/Tabs widgets. ( #261 , #351 ) (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.
6 years ago
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)
6 years ago
omar
15447f5b7b
Using named flags instead of 0 + shallow formatting tweaks from other branches.
6 years ago
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. ( #899 )
...
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.
6 years ago
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.
6 years ago
omar
b58bd5b311
Version 1.67 WIP + todo notes
6 years ago
omar
eb311abc92
Fixed IMGUI_API tag on ImFontAtlas::IsBuilt() preventing to build as DLL on some setups. ( #2226 )
6 years ago
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
6 years ago
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).
6 years ago
omar
7658035e5a
About, IO: Added io.BackendPlatformName, io.BackendRendererName for informational/QA purpose.
6 years ago
omar
3849def253
Added ShowAboutWindow(), About Window now showing various config/build information.
6 years ago
omar
4a94b251fd
Comments
6 years ago
omar
4105cc7e97
Added ImGuiConfigFlags_None, ImGuiBackendFlags_None for good measure.
6 years ago
omar
1fa2cb8748
imgui.h: Comments
6 years ago
omar
ce07d55d1b
imgui.h: Moved ImGuiListClipper
6 years ago
omar
8495c931c0
mgui.h: Moved ImGuiInputTextCallbackData,, ImGuiSizeCallbackData, ImGuiPayload structures so they are not in the "Helpers" section.
6 years ago
omar
d27ffefbd4
Version 1.67 WIP
6 years ago
omar
da3c4330c1
Version 1.66
6 years ago
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. ( #2185 )
6 years ago
Konstantin Podsvirov
faecf90383
SliderAngle: Added optional `format` argument to allow users customize precision and make localization. ( #2150 )
6 years ago
omar
a72d5ada61
Misc comments improvements
6 years ago
omar
000c1fc221
Demo: Added comments / tweaks related to the popups.
6 years ago
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. ( #1660 , #787 )
6 years ago
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. ( #1660 )
6 years ago
Elias Daler
8606d9fa11
Fix Clang/GCC's null-conversion warning: ( #2081 )
...
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.
6 years ago
omar
0fe48cbb61
Renamed misc/stl/imgui_stl.h,.cpp to misc/cpp/imgui_stdlib.h in prevision for other files.( #2035 , #2096 )
...
Added misc/README file.
6 years ago
omar
74c0309126
InputText: Clarified comments around ImGuiInputTextFlags_CallbackResize and other callbacks. ( #2006 , #1443 , #1008 )
6 years ago
omar
d02b11dfbd
ImGuiTextBuffer: Avoid heap allocation when empty.
6 years ago
omar
1efafa1d29
Comments + internal using Tab Stop terminology (ImGuiItemFlags_NoTabStop instead of !ImGuiItemFlags_AllowKeyboardFocus)
6 years ago
omar
e623be998d
Drag and Drop: Added GetDragDropPayload() to peek directly into the payload (if any) from anywhere. ( #143 )
6 years ago
Loïc HAMOT
9aae21483a
Fix missing IMGUI_API and mismatching namespace internal's CreateNewWindowSettings ( #2105 )
6 years ago
omar
61d94ff88e
Renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
6 years ago
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. ( #1698 , #894 , #713 ) + reworked the Begin/BeginChild comments in imgui.h.
6 years ago
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).
6 years ago
ice1000
201fcfd2e5
Internals: Replace unsigned short with ImWchar when dealing with character storage. ( #2078 )
6 years ago
omar
eb7033e75b
Version 1.66 WIP
6 years ago
omar
e0cab5664a
Version 1.65
6 years ago
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. ( #787 )
6 years ago
omar
77ba883f23
Renamed io.OptCursorBlink/io.ConfigCursorBlink to io.ConfigInputTextCursorBlink. ( #1427 ) + changed ImGuiIO layout.
6 years ago
omar
bbcc976739
Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
6 years ago
omar
b944aa623c
Minor mostly inconsequential merges from Viewport + LoadIniSettingsFromMemory() entirely skip lines starting with ';'
6 years ago
omar
bcb1441ce7
Version 1.65 WIP
6 years ago
omar
48db5713d6
Version 1.64
6 years ago
omar
f2aa124eb8
Version 1.64 WIP
6 years ago
omar
9e0f24dcb6
Version 1.63
6 years ago
omar
ec148988f0
Reordered some declarations in imgui.h (in prevision of 1.64 refactor)
6 years ago
omar
a082692b0a
ImFontAtlas Comments ( #2042 ) + added ImGuiFontAtlas_None for consistency.
6 years ago
omar
042f88e5f0
Removed obsolete redirection functions: CollapsingHeader() variation with 2 bools - marked obsolete in v1.49, May 2016.
6 years ago
omar
3612885dea
Comments, demo
6 years ago
omar
0810d57819
Renamed IsItemDeactivatedAfterChange() to IsItemDeactivatedAfterEdit() for consistency with new IsItemEdited() API. Kept redirection function (will obsolete fast as IsItemDeactivatedAfterChange() is very recent). ( #820 , #956 , #1875 , #2034 )
6 years ago
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. ( #2034 )
6 years ago
omar
102d5e6de6
Rearrange header comments to find enums easily + fixed inconsistent sorting.
6 years ago
omar
ea9f5d7600
Added optional misc/stl/imgui_stl.h wrapper to use with STL types (e.g. InputText with std::string). ( #2035 , #2006 , #1443 , #1008 )
6 years ago
omar
8d639ec60d
InputText: callback InsertChars() support resize callbacks correctly (followup to 24ff259
) + fixed demo to use those functions. ( #2006 , #1443 , #1008 ).
6 years ago
omar
2dc5ec95d7
Internals: InputText: Renaming. Comments.
6 years ago
omar
9f393c38e9
InputText: Renamed ImGuiTextEditCallback to ImGuiInputTextCallback, ImGuiTextEditCallbackData to ImGuiInputTextCallbackData for consistency. Kept redirection types (will obsolete).
6 years ago
omar
24ff259816
InputText: Added support for buffer size/capacity changes via the ImGuiInputTextFlags_CallbackResize flag. ( #2006 , #1443 , #1008 ).
6 years ago
omar
4de6e1f7e4
InputText: Internal renaming of some fields + final copy uses edit_state.CurLenA+1 instead of buf_size.
6 years ago
omar
e6c78f9470
InputText: (Breaking change) removed ImGuiTextEditCallbackData::ReadOnly since it is a duplication of (ImGuiTextEditCallbackData::Flags & ImGuiInputTextFlags_ReadOnly) ( #211 )
6 years ago
omar
5942c08143
Added IMGUI_VERSION_NUM for easy compile-time testing. ( #2025 )
6 years ago
omar
8972ebae73
Metrics: Added io.MetricsActiveAllocations, moving away from the cross-context global counters than we previously used. ( #1565 , #1599 , #586 )
6 years ago