omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
2019-09-23 14:53:49 +02:00
omar
098591fe4c
ImDrawListSplitter: fixed an issue merging channels if the last submitted draw command used a different texture. ( #2506 )
2019-09-17 20:27:15 +02:00
omar
3b014d0c31
Merge branch 'features/ellipsis_rendering'
...
# Conflicts:
# imgui.cpp
2019-09-17 12:07:30 +02:00
omar
7d5a17e5e4
Remove trailing spaces (grep for ' \r?$' in visual studio)
2019-09-17 11:33:18 +02:00
omar
57623c15dd
Font: Narrow ellipsis: various minor stylistic tweaks ( #2775 )
2019-09-17 11:13:34 +02:00
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.
2019-09-17 11:13:07 +02:00
omar
c4ff1b3578
ImDrawList: clarified the name of many parameters so reading the code is a little easier. ( #2740 )
2019-08-22 17:43:57 +02:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
6a0d0dab5a
Version 1.72b (patch for nav)
2019-07-31 14:31:06 -07:00
omar
9183e7c426
Version 1.73 WIP
2019-07-29 15:54:32 -07:00
omar
ecb9b1e2eb
Version 1.72
2019-07-27 18:15:07 -07:00
omar
51853292cc
ImDrawList: Using ImDrawCornerFlags instead of int in various apis.
...
Demo: Using ImGuiColorEditrFlags instead of int.
2019-07-23 10:41:48 -07:00
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
2019-07-12 11:58:46 +02:00
omar
82711251b6
Internals: ImGuiListClipper using absolute coordinate (instead of relative one). Minor no-op tweaks + ImDrawListSplitter assert
2019-06-29 20:10:55 +02:00
omar
1dd322c6fb
Style: Attenuated default opacity of ImGuiCol_Separator in Classic and Light styles.
2019-06-27 12:20:29 +02:00
omar
dd41df3e98
Word-wrapping: Fixed overzealous word-wrapping when glyph edge lands exactly on the limit. Because of this, auto-fitting exactly unwrapped text would make it wrap. (fixes initial 1.15 commit, 78645a7d
).
2019-06-18 12:50:34 +02:00
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
2019-06-17 11:32:00 +02:00
omar
b82e99c032
ImDrawList: Fixed CloneOutput() helper crashing. Also removed unnecessary risk from ImDrawList::Clear(), draw lists are being clear before use each frame anyway. ( #1860 )
2019-06-17 11:06:36 +02:00
omar
2645a2516f
ImDrawList::ChannelsSplit(), ImDrawListSlitter: Fixed an issue with merging draw commands between channels 0 and 1. ( #2624 ) Introduced by cef88f6aae
.
2019-06-14 12:07:43 +02:00
omar
5286ecb8a7
Version 1.72 WIP
2019-06-14 11:58:58 +02:00
omar
2da1c66d15
Version 1.71 + comments
2019-06-12 18:30:06 +02:00
omar
4597632662
Readme, comments, dear imgui prefixes
2019-06-11 16:11:36 +02:00
omar
a9b5c834b6
ImDrawListSplitter: Don't merge draw commands when crossing a VtxOffset boundary + Renamed fields ImDrawChannels to consistently suggest those are internal structures.
2019-06-11 11:49:31 +02:00
omar
d8435c7710
ImDrawListSplitter: Fix idx offset when merging ( cef88f6
) ( #2591 )
2019-06-10 15:02:44 +02:00
omar
afa3978ff6
Internals: Added drawlist and color arg to RenderArrow(), RenderBullet(). Reordered args for RenderPixelEllipsis.
2019-06-07 17:32:51 +02:00
omar
cef88f6aae
ImDrawListSplitter: Support merging consecutive draw commands straddling two channels. Support zero-init.
2019-05-31 12:06:35 +02:00
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.)
2019-05-31 12:03:10 +02:00
omar
8abf1313aa
ImDrawList: Fix broken channel splitting (another issue when the first channel is empty) ( #2591 ) + fixed warnings with newer VS
2019-05-31 11:47:00 +02:00
Sebastian Krzyszkowiak
bff7202ff2
Include <alloca.h> also when __SWITCH__ is defined ( #2595 )
...
Fixes compilation with devkitPro for Nintendo Switch
2019-05-31 01:52:22 +02:00
omar
42c98c5eea
ImDrawList: Fix broken channel splitting (broken by d1e8b69
) ( #2591 )
2019-05-30 18:47:46 +02:00
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 )
2019-05-29 16:13:38 +02:00
omar
40b9e5e0b4
ImDrawList: Store initial flags for the frame in ImDrawListSharedData, reducing code duplication in setting up the flags.
2019-05-29 14:26:03 +02:00
omar
34b881eb12
ImFontGlyphRangesBuilder: Fixed unnecessarily over-sized buffer, which incidentally was also not fully cleared. Fixed edge case overflow when adding character 0xFFFF. ( #2568 )
2019-05-21 12:45:27 +02:00
omar
f242cd4d8a
Fixed GCC mem-access warnings ( #2565 )
...
+ using "if defined" more consistently for Clang.
2019-05-19 17:15:14 +02:00
Lionel Landwerlin
679cf7434e
Fix undefined behavior ( #2561 )
2019-05-18 10:43:30 +02:00
omar
42fc563fed
Version 1.71 WIP + fixed minor typo
2019-05-07 16:36:08 +02:00
omar
d1d5075b66
Version 1.70
2019-05-06 14:17:39 +02:00
omar
0f2852806c
Amend 48a09a7
with changelog, breaking changes, tweak demo code for spacing. ( #2518 )
2019-04-29 12:44:17 +02:00
Richard Mitton
4c0f34fd5d
Improved algorithm for mitre joints on thick lines
2019-04-29 12:07:03 +02:00
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.
2019-04-05 20:20:24 +02:00
omar
8dab7ac021
InputText: Made Shift+Tab consistently do nothing regardless of whether the back-end emits both char and keys or just keys. ( #2467 , #1336 )
2019-04-03 11:14:34 +02:00
Nicolas Noble
d9568c717d
Silencing -Wstack-protector ( #2459 )
2019-03-31 01:35:03 -07:00
omar
221bf93a55
Comments, todo list, remove trailing spaces.
2019-03-17 00:56:21 +01:00
omar
cf2c52282d
Version 1.70 WIP
2019-03-15 13:07:30 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
a92c587c75
Added GetGlyphRangesVietnamese() helper. ( #2403 )
2019-03-11 22:02:59 +01:00
Bruce Mitchener
b5d57a6615
Fix typos. ( #2413 )
2019-03-09 10:10:17 +01:00
Elias Daler
c3ea1748dc
Fix -Wconversion warning ( #2379 )
...
The warning was caused by implicit conversion from pointer type which
NULL has to non-pointer type, e.g. if ImTextureID is long int
2019-02-24 18:35:52 +01:00
omar
677e64e71e
Internal: InputText: Comments. Renamed internal member. Renamed ImGuiStb->ImStb.
2019-02-20 21:34:08 +01:00
omar
257f5d204e
Version 1.69 WIP
2019-02-20 00:11:36 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
omar
f5bf6e38d2
Font: Fixed assert when specifying duplicate/overlapping ranges within a same font. ( #2353 , #2233 )
2019-02-18 12:11:46 +01:00
omar
93d1179805
Examples: Extracted gamepad code into ImGui_ImplGlfw_UpdateGamepads(). Renamed matching Win32 function for consistency.
...
Added more link to nothing's oversample document. Spacing bits.
2019-02-14 19:29:09 +01:00
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.
2019-02-11 18:52:08 +01:00
omar
4b41d3b280
ImFont: Rearranged members toward an optimal CalcTextSize() loop. Removed comments from destructor. Made constructor more explicit.
2019-02-09 15:54:47 +01:00
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 )
2019-02-05 13:23:44 +01:00
omar
8e44aacc8e
Fonts: Fixed crash if FontGlobalScale is zero. Correctly debug naming default font if not 13 px. Demo: Moved PopupRounding along with other rounding values. Metrics: Displaying indexes with idx to be correct / less misleading.
2019-02-04 23:34:20 +01:00
omar
4e8e177cac
Persistently fixing some PVS-Studio static analyzer false positive warnings.
2019-01-27 16:35:48 +01:00
omar
c3c2cd1e82
Fix various XCode and PVS-Studio static analyzer warnings ( #2309 )
2019-01-27 16:18:23 +01:00
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
2019-01-20 17:56:17 +01:00
omar
f94ba546ba
Added checks for "zero-as-null-pointer-constant" warnings for older Clang ( #2299 , followup to #2277 )
2019-01-20 17:46:00 +01:00
omar
bebb07f12d
ImFontAtlas: Added 0x2000-0x206F general punctuation range to default ChineseFull/ChineseSimplifiedCommon ranges. ( #2093 )
2019-01-17 16:48:11 +01:00
omar
8cbb91261e
ImDrawList: Fixed AddCircle(), AddCircleFilled() angle step being off, which was visible when drawing a "circle" with a small number of segments (e.g. an hexagon). ( #2287 ) [@baktery]
...
+ Demo tweaks
2019-01-16 17:47:49 +01:00
omar
06aaf23877
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:10:51 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
7a5058e3bf
Version 1.67
2019-01-14 17:41:44 +01:00
omar
6e41745f31
Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. ( #2277 )
2019-01-13 18:57:46 +01:00
omar
651130002f
ImFontAtlas: Fixed allocating for last bit (would only affect is that last codepoint is a multiple of 32). ( #2270 )
2019-01-11 15:25:43 +01:00
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.
2019-01-10 22:23:05 +01:00
omar
9ad341902d
ImDrawList: Optimized some of the functions for performance of debug builds where non-inline function call cost are non-negligible.
2019-01-08 17:37:22 +01:00
omar
acfa4050ec
Tweak changelog + tweak internal render helper functions.
2019-01-07 16:43:55 +01:00
omar
5cb7ce2085
Renamed ImFont::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
2019-01-06 16:59:51 +01:00
omar
8399fb5071
Changed ImGuiCol_ChildBg to (0,0,0,0) in Dark style instead of (1,1,1,0), to match other styles. Shouldn't have any effect for the end-user.
2018-12-19 15:20:18 +01:00
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.
2018-12-11 12:36:47 +01:00
omar
10e13dd6bb
Version 1.67 WIP (again, this time IMGUI_VERSION_NUM has leeway for another hot-fix).
2018-12-03 12:19:23 +01:00
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).
2018-12-03 10:17:17 +01:00
omar
84238240d6
Fixed a text rendering/clipping bug introduced in 1.66 (on 2018-10-12, commit ede3a3b9
) that affect single ImDrawList::AddText() calls with single strings larger than 10k. Text/TextUnformatted() calls were not affected, but e.g. InputText() was.
2018-11-30 23:47:23 +01:00
Sebastian Krzyszkowiak
3335e6688f
Include <alloca.h> also on macOS (and osxcross) ( #2218 )
2018-11-30 16:57:09 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
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.
2018-10-15 17:07:06 +02:00
omar
ede3a3b92d
Fixes crash introduced in previous commit 9cf94d5
.
2018-10-12 13:29:13 +02:00
omar
9cf94d5dd6
RenderText(), InputTextMultiline(): Optimization for large text by using memchr, wmemchr, wcschr when appropriate.
2018-10-12 12:34:47 +02:00
omar
5719b23e01
ImDrawList: Fixed AddConvexPolyFilled() undefined behavior when passing points_count smaller than 3, in particular, points_count==0 could lead to a memory stomp if the draw list was previously empty.
2018-09-21 10:00:26 +02:00
ice1000
201fcfd2e5
Internals: Replace unsigned short with ImWchar when dealing with character storage. ( #2078 )
2018-09-11 22:00:57 +02:00
omar
eb7033e75b
Version 1.66 WIP
2018-09-06 21:44:59 +02:00
omar
e0cab5664a
Version 1.65
2018-09-06 15:58:58 +02:00
omar
5a679a45cc
Renamed stb_truetype.h to imstb_truetype.h, stb_textedit.h to imstb_textedit.h, and stb_rect_pack.h to imstb_rectpack.h. ( #1718 , #2036 )
...
If you were conveniently using the imgui copy of those STB headers in your project, you will have to update your include paths.
The reason for this change is to avoid conflicts for projects that may also be importing their own copy of the STB libraries. Note that imgui's copy of stb_textedit.h is modified.
2018-09-06 15:58:25 +02:00
omar
e58bc3d5b7
Refactor: Tweaked and improved the sectioning to facilitate grepping/moving around and applied to all files. ( #2036 )
2018-09-06 11:36:00 +02:00
omar
bcb1441ce7
Version 1.65 WIP
2018-09-03 14:38:04 +02:00
omar
48db5713d6
Version 1.64
2018-08-31 10:00:03 +02:00
omar
38cfcf9fbc
Tweak comments and indexes
2018-08-31 09:59:58 +02:00
omar
df37a156e8
Refactor: Moved Scrollbar function from imgui.cpp to imgui_widgets.cpp, added file index ( #2036 )
2018-08-30 20:51:57 +02:00
omar
f2aa124eb8
Version 1.64 WIP
2018-08-30 14:25:23 +02:00
omar
9e0f24dcb6
Version 1.63
2018-08-29 16:20:25 +02:00
omar
92edb7a4e3
Internals: Tidying up, moving helpers to imgui_internal.h (in prevision of 1.64 refactor)
2018-08-29 16:12:54 +02:00
omar
a082692b0a
ImFontAtlas Comments ( #2042 ) + added ImGuiFontAtlas_None for consistency.
2018-08-25 20:06:17 +02:00
omar
68448c5faa
ImDrawList: Large text passed to AddText() are being scanned for their end in order to avoid pre-reserving too many vertices.
2018-08-22 12:46:47 +02:00
omar
975b5a7310
ImDrawList: Fixed clipping of leading lines above the clipping rectangle from counting in the worst case vertices reservation. (fix code added in #200!)
2018-08-22 12:46:47 +02:00
omar
fda9dc8e18
Internals: Extracted RenderMouseCursor() out of EndFrame(). Moved to imgui_draw.cpp along with RenderArrowPointingAt(). Comments. ( #2013 )
2018-08-09 18:07:49 +02:00
omar
4d5dcdb57a
Internals: Changed signature of ShadeVerts functions to remove pointers. ( #1286 , #1700 , #1986 )
2018-07-30 17:24:04 +02:00
Tommy Nguyen
b5b972d0ef
ImFontAtlas::AddFontDefault: Made it possible to override glyph ranges. ( #1965 )
2018-07-30 14:18:20 +02:00
omar
6211f40f3d
Internals: Drag and Drop: default drop preview use a narrower clipping rectangle (no effect here, but other branches uses a narrow clipping rectangle that was too small so this is a fix for it) + Comments
2018-07-27 12:39:42 +02:00
omar
4ebd442a24
Added asserts to catch illegal modifications of the font atlas between NewFrame() and EndFrame()/Render(). ( #1958 )
2018-07-22 18:53:27 +02:00
Rokas Kupstys
7e59eb026b
Fix warning when IMGUI_DEFINE_MATH_OPERATORS is already defined by build system. ( #1950 )
2018-07-17 17:17:56 +02:00
omar
5e73e969fb
Comments, exposed a few things in imgui_internal.h for consistency, added ImQsort wrapper.
2018-07-12 11:08:24 +02:00
omar
23288547ec
Revert part of c7016c2
incorrectly renaming ImGuiCol_NavWindowingHighlight to ImGuiCol_NavWindowListHighlight, that was wholly unnecessary (and not documented!). (also invalidate #1939 )
2018-07-12 09:53:10 +02:00
omar
c7016c25e8
Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. ( #787 )
2018-07-09 19:16:48 +02:00
omar
93950b8c32
Internals: Removed unused ShadeVertsLinearAlphaGradientForLeftToRightText code.
2018-07-06 15:50:07 +02:00
omar
645ab6633c
Fixed a include build issue for Cygwin in non-POSIX (Win32) mode. ( #1917 , #1319 , #276 )
2018-07-01 12:25:37 +02:00
omar
6e67afc500
Tweaked software mouse cursor offset to match the offset of the corresponding Windows 10 cursors. (followup to #1914 )
2018-06-29 16:36:40 +02:00
omar
62b3d7c51e
Fixed software Hand cursor from not actually working. Fixed demo from crashing. Fixed typo and extraneous trailing space. Added Changelogs. ( #1913 , #1914 )
2018-06-29 16:36:40 +02:00
Aiekick
ecd9a223e3
add hand cursor support (+11 squashed commit)
2018-06-29 16:36:40 +02:00
omar
c1d8dee6c5
Version 1.63 WIP
2018-06-25 09:40:09 +02:00
omar
fb0106fad2
Demo: Fixed incorrect response to Begin() returning false in overlay demo (which cannot happen since we don't have a title bar, but that doesn't make it a good behaving demo!).
2018-06-25 09:32:55 +02:00
omar
1b74e3be02
Version 1.62
2018-06-22 09:41:25 +02:00
omar
f5bf9f509c
ImFontConfig: Added GlyphMinAdvanceX/GlyphMaxAdvanceX settings useful to make a font appears monospaced, particularly useful for icon fonts. ( #1869 )
2018-06-08 12:52:46 +02:00
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. ( #1859 )
...
Changed the accumulative encoding to remove the implicit +1 which only saved a little space and made things more confusing.
2018-06-06 12:35:36 +02:00
omar
6c684ae39b
Fixed GCC pre-8 build. ( #1822 ) + added bonus the non-ASCII character pasted from GCC breaks my SourceTree/Git combo
2018-05-17 18:10:20 +02:00
omar
64b1645deb
Disabled GCC 8.1.0 warnings -Wclass-memaccess ( #1822 )
2018-05-17 14:19:20 +02:00
omar
d5c8f404b2
Remove trailing white spaces.
2018-05-17 14:12:37 +02:00
omar
036dce634e
Version 1.62 WIP
2018-05-14 19:19:19 +02:00
omar
78b28d545f
Version 1.61 + todo additions
2018-05-14 12:34:47 +02:00
omar
2a2bb8970d
Added ImAtof, ImCeil, ImFloorStd to IMGUI_DISABLE_MATH_FUNCTIONS for consistency. Configuration comments.
2018-05-13 22:31:29 +02:00
omar
ff033f431b
Added IMGUI_DISABLE_MATH_FUNCTIONS in imconfig.h to make it slightly easier to redefine wrappers to std maths functions such as fabsf(), fmodf(), etc. Comments.
2018-05-13 21:04:07 +02:00
omar
8149408408
Merge branch 'data_types'
...
# Conflicts:
# CHANGELOG.txt
# imgui.cpp
2018-05-11 16:48:50 +02:00
omar
280c05e4f8
Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit.
2018-05-08 11:02:38 +02:00
omar
0bf43b3a1b
Settings: Added LoadIniSettingsFromDisk(), LoadIniSettingsFromMemory(), SaveIniSettingsToDisk(), SaveIniSettingsToMemory(), io.WantSaveIniSettings. ( #923 , #993 )
2018-05-07 22:18:45 +02:00
omar
6eda9ed3fb
Skip missing font glyphs V2 revert changes to stb_truetype.h (
2018-05-07 19:57:53 +02:00
omar
a62f195e83
Internals: Renamed IsCharIsSpace() to IsCharIsBlank*() to match standard terminlogy and added ascii/u16 variations.
2018-05-03 17:33:55 +02:00
omar
28edece04f
Comments, minor tweaks
2018-04-27 17:32:03 +02:00
omar
928a4ad315
Begin: moved tooltip position code in an else block. Misc comments
2018-04-10 16:51:16 +02:00
omar
6f1f5cbc20
Version 1.61 WIP
2018-04-09 14:02:32 +02:00
omar
54fca1d1b8
Fixed erroneous call to io.Fonts->ClearInputData() + ClearTexData() that was left in DX10 example but removed in 1.47 (Nov 2015) in every other back-ends. (fixes 6cee2fca94
) ( #1733 , ~#1731) + assert
2018-04-09 13:13:06 +02:00
omar
3a29ddbcfa
Version 1.60
2018-04-08 00:45:02 +02:00
omar
82b7a39f31
Fixed a few zealous warnings.
2018-04-07 10:38:01 +02:00
omar
1e116e6c17
Removed need for -Wnocast-qual on modern Clang/Xcode as a token of good behavior. Unfortunately the old stb_ decompress code is a little const clunky. + warning fix in stb_textedit which is already in master afaik.
2018-04-03 23:18:43 +02:00
omar
78610a54d2
Fixed Clang zealous cast-call warning (on par with GCC) which decided to warn against explicit C-style casts now.
2018-04-03 20:55:30 +02:00
omar
fe5347ef94
imconfig: Added IMGUI_STB_TRUETYPE_FILENAME, IMGUI_STB_RECT_PACK_FILENAME + documenting IMGUI_DISABLE_STB_XXX flags and hiding IMGUI_STB_NAMESPACE which is misleading.
...
Fixed typos in todo list.
2018-03-20 18:25:37 +01:00
omar
1e296453ef
ImDrawList: Added Clone() helper function.
2018-03-17 21:18:14 +01:00
omar
533c86a7a3
Update TODO list, minor fix in Readme, comments, Clang -Weverything warning fix in imgui_draw.cpp under Windows.
2018-03-17 17:29:58 +01:00
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. ( #707 )
2018-03-12 11:48:04 +01:00
omar
1f6ad7a894
ImFont: Added FindGlyphNoFallback. Fixed MergeMode broken by 1ef1acbd8d
2018-03-10 10:33:12 +01:00
omar
a3d5f92214
Merge branch 'master' into font_offset
2018-03-08 16:49:39 +01:00
omar
1ef1acbd8d
Font: Fixed MergeMode adding duplicate glyphs data instead of reusing existing (broken by 072d6d8cb5
)
2018-03-08 16:47:41 +01:00
omar
3dfac93ebe
Fonts: Fixed debug name not being zero-terminated if longer than storage buffer + made buffer slightly longer as well.
2018-03-08 15:58:56 +01:00
omar
945f4d1ecd
Removed redundant semi colons. ( #1653 )
2018-03-05 16:16:27 +01:00
omar
0ec356eb6e
Comments, FAQ update.
2018-03-05 13:05:47 +01:00
omar
69e700f869
Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added
2018-03-03 20:15:10 +01:00
omar
403b2d7d59
ImDrawList: Better looking non-AA rectangle (lower-right corner and rounding). ( #1646 )
2018-02-25 14:15:37 +01:00
omar
79969931e6
ImDrawList: PushTextureID(): Removed unnecessary param by reference.
2018-02-23 00:01:34 +01:00
omar
7c75835200
Renamed misleading ImGuiMouseCursor_Move to ImGuiMouseCursor_ResizeAll. SDL: Fixed cursor. ( #1626 )
2018-02-16 19:49:33 +01:00
omar
c433bbcd8e
ImFont: stb_truetype now rounding Ascent/Descent the same way as freetype does, they seem to vertically align better this way.
2018-02-15 10:47:20 +01:00
omar
30c469f7c5
ImFont: DisplayOffset.y defaults to 0 instead of +1.
2018-02-15 10:46:28 +01:00
omar
024e23c4d7
Comments, moved ImFontAtlas::Flags to "public" area.
2018-02-14 12:04:21 +01:00
omar
fed0a884f7
ImFontAtlas: Added ImFontAtlasFlags_NoPowerOfTwoHeight, ImFontAtlasFlags_NoMouseCursors flags. ( #1613 )
2018-02-14 11:58:52 +01:00
omar
6bc3e7b043
ImFontAtlas: if stbtt_PackBegin() because of failing allocation we return a little more nicely. (keeps Coverity static analyzer happy!)
2018-02-13 21:57:15 +01:00
omar
88dcbeb7ff
Styles: Comments and re-ordered.
2018-02-08 21:14:57 +01:00
omar
7c16d52f72
Updated version to 1.60 WIP to emphasis on the addition of required calls CreateContext/DestroyContext + merged the massive Navigation branch ( #1565 , #787 )
2018-02-06 20:20:34 +01:00
omar
47e81a6194
Merge branch 'master' into navigation
2018-01-31 16:00:25 +01:00
omar
cd3dd886de
Moved extra_fonts/ to misc/fonts/. Moved .natvis file to misc/natvis/ ( #1569 )
2018-01-31 16:00:07 +01:00
omar
ed088b00be
Nav: Style: Improved display of windowing highlight (for focus selection via PadMenu or Ctrl+TAB). ( #787 , #707 )
2018-01-25 18:50:30 +01:00
omar
9edf211c0e
Merge branch 'master' into navigation
2018-01-21 20:46:50 +01:00
omar
5eb293c879
ImFontAtlas: Added TexUvScale (= 1.0f / (float)TexWidth, 1.0f / (float)TexHeight)
2018-01-20 20:32:23 +01:00
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! ( #939 )
2018-01-20 20:25:12 +01:00
omar
66b2ee6ea2
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2018-01-07 14:25:05 +01:00
omar
ecbfdd3143
Added extraneous initialization to NULL. ( #1527 ).
2018-01-04 11:06:12 +01:00
omar
96ccc484f9
Merge branch 'master' into navigation
...
# Conflicts:
# imgui_internal.h
2018-01-03 12:33:27 +01:00
Branimir Karadžić
856ee17ed8
Fixed Android clang warning.
2018-01-03 10:29:37 +01:00
omar
7e03ee8d85
Merge branch 'master' into navigation
2018-01-02 17:21:49 +01:00
omar
4af84ac781
ImFontAtlas: Handle stb_truetype failure more gracefully, GetTexDataAsRGBA32() won't crash during conversion. ( #1527 )
2017-12-30 23:10:11 +01:00
omar
c4e6d622c1
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-29 13:39:07 +01:00
omar
49eed6e2d1
Version 1.54 WIP
2017-12-28 15:17:35 +01:00
omar
436cad4bca
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.h
2017-12-26 15:37:31 +01:00
omar
e916310b2e
Version 1.53
2017-12-25 17:41:41 +01:00
omar
de5c304b49
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-24 18:59:40 +01:00
omar
cead207535
Comments
2017-12-24 17:58:41 +01:00
omar
ffb4f6ca8c
Merge branch 'master' into navigation
2017-12-23 16:27:48 +01:00
omar
d976e4ea23
Internals: Missing IM_DELETE usage ( #1517 )
2017-12-23 16:27:16 +01:00
omar
9cda86d55a
Internals: Added IM_NEW, IM_DELETE helper macros ( #1517 , #484 , #504 )
2017-12-23 16:24:33 +01:00
omar
983d8f5f8e
Various zealous warning fixes (Clang).
2017-12-23 15:28:49 +01:00
omar
1f26652944
Various zealous warning fixes (thanks Clang).
2017-12-23 14:07:03 +01:00
omar
287380261c
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-21 19:55:21 +01:00
omar
996dfb21cf
ImDrawList: Added ImDrawListFlags for AA settings. ImDrawList doesn't directly depends on GImGui anymore.
2017-12-21 19:49:54 +01:00
omar
14cb8177d0
ImDrawList: Removed 'bool anti_aliased = true' final parameter of ImDrawList::AddPolyline() and ImDrawList::AddConvexPolyFilled(). Anti-aliasing is controlled via the regular style.AntiAliased flags.
2017-12-21 19:01:53 +01:00
omar
531c11d5c7
ImDrawList: Small refactor toward removing dependency on GImGui + PushClipRectFullscreen now correctly uses data provided by imgui which can takes account of DisplaySize + Removed static variable in PathArcToFast() which caused linking issues to some.
2017-12-21 18:52:34 +01:00
omar
fa9327ccf8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
2017-12-12 20:44:12 +01:00
omar
e98df91dc4
Drag and Drop: Added ImGuiCol_DragDropTarget ( #143 , #707 )
2017-12-12 15:44:22 +01:00
omar
38bfdb357e
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-12-11 16:28:47 +01:00
omar
6d93011fdf
alloca fix to allow Clang with Microsoft CodeGen path
2017-12-11 10:25:44 +01:00
omar
364251146b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-12-05 16:15:05 +01:00
omar
aea3fe41b9
Style: Tweaks Dark and Light styles. ( #707 )
2017-11-30 23:15:55 +01:00
omar
f5c47faee8
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
2017-11-24 16:55:31 +01:00
Giuseppe Barbieri
1b2ec35b8d
Update imgui_draw.cpp
2017-11-22 12:58:11 +01:00
omar
2543807e56
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2017-11-20 13:54:06 +01:00
omar
3f5b2a3fe3
Exposed ImDrawCornerFlags, replaced occurences of ~0 with an explicit ImDrawCornerFlags_All. Inversed BotLeft (prev 1<<3, now 1<<2) and BotRight (prev 1<<2, now 1<<3).
2017-11-20 13:53:16 +01:00
omar
31683cfe34
ImDrawList::AddImageRounded: removed PrimDistributeUV declaration, fixed coding style, restored argument order from original PR. ( #845 )
2017-11-20 13:31:40 +01:00
thedmd
79f07f6ff0
Add AddImageRounded() to ImDrawList
2017-11-19 21:56:46 +01:00
thedmd
8b2d449b16
Add ShadeVertsLinearUV()
2017-11-19 21:56:36 +01:00
omar
9848a7023b
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
2017-11-19 16:21:21 +01:00
omar
f7fe824805
Style: Tweaked border settings to homogenize a little how they look over different backgrounds. ( #707 )
2017-11-19 13:55:38 +01:00
omar
39137ccc3e
Style: renamed ImGuiCol_ChildWindowBg to ImGuiCol_ChildBg. ( #707 )
2017-11-19 13:52:40 +01:00
Jason Wilkins
022f8c2342
fixed incomplete replacement of unsigned short with ImWchar in interface of ImFont::FindGlyph
2017-11-19 12:44:23 +01:00
omar
9289e8055c
Merge pull request #1445 from franciscod/uninitialized_o3_werror
...
ImFontAtlas: Fix maybe-uninitialized warning.
2017-11-19 00:53:35 +01:00
omar
d323e8cca2
Fixed Style merge for nav branch ( #707 , #787 )
2017-11-19 00:47:00 +01:00
omar
d211a0e338
Merge branch 'master' into navigation (with style breakable)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2017-11-19 00:39:37 +01:00
omar
0e4f1df1a4
Style: Made changes to Classic style (!!!). Tweaked Dark style. ( #707 )
2017-11-19 00:29:29 +01:00
omar
0a61b7195c
Style: Added a default StyleColorsLight(). ( #707 )
2017-11-19 00:29:29 +01:00
omar
58345b11e1
Style: Removed ImGuiCol_ComboBg in favor of combo boxes using ImGuiCol_PopupBg for consistency. ( #707 )
2017-11-18 23:44:16 +01:00
omar
331eac511e
Style: Dark: Tweaks + setting BorderShadow correctly.
2017-11-18 19:08:52 +01:00
Francisco Demartino
f5871c0b92
fix uninitialized atlas packing context
2017-11-16 21:45:21 -03:00
omar
6817f3a3d9
Merge branch 'master' into navigation
2017-11-15 23:44:50 +01:00
omar
f5bdf443c9
Minor comments, tweaks
2017-11-15 22:37:43 +01:00
omar
0d4c320f88
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2017-11-06 23:58:28 +01:00
omar
2a3a25e792
Reordered fields in other Style functions ( #1409 )
2017-11-02 10:41:21 +01:00
Giuseppe Barbieri
db190c16f6
Update imgui_draw.cpp
2017-11-01 16:48:56 +01:00
omar
63f6f2dd13
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-11-01 15:09:23 +01:00
omar
53f9e28c77
GetGlyphRangesThai(): removed extraneous codepoints ( #1396 )
2017-10-29 11:28:29 +01:00
Adisorn Aeksatean
3185a3a697
Add missing thai punctuations
2017-10-28 16:59:39 +07:00
omar
d55b69ad6e
Styles: Nav tweaks.
2017-10-27 20:06:45 +02:00
omar
edafbcd630
Merge branch 'master' into navigation
...
# Conflicts:
# imgui.cpp
# imgui.h
2017-10-27 20:04:51 +02:00
omar
c503a50cff
Styles: Moved Classic colors code to imgui_draw.cpp. Sneakily added a StyleColorsDark() function.
2017-10-27 20:01:30 +02:00
omar
77df1ba9e0
Version 1.53 WIP
2017-10-27 19:54:56 +02:00
omar
9f200d10d5
Version 1.52
2017-10-27 17:10:41 +02:00
omar
bc447bc0a4
ImFontAtlas: Fixed memory leak if stbtt_InitFont() returned false. ( #1391 )
2017-10-24 16:08:05 +02:00
omar
7f880674e5
Font: Renamed ImFont::Clear() to ImFont::ClearOutputData() for consistency with what ImFontAtlas does. DisplayOffset is set by constructor but not reset by ClearOutputData. ( #1349 )
2017-10-22 10:24:56 +02:00
omar
08e411c310
Merge branch 'atlas_build_clear_font' of https://github.com/inolen/imgui into inolen-atlas_build_clear_font
2017-10-22 10:17:28 +02:00
omar
5b699517d4
Internals: PaintVerts** renamed to ShadeVerts**, moved to imgui_draw.cpp and exposed in imgui_internal.h (+1 squashed commits)
2017-10-19 19:42:19 +02:00
omar
e32569dd5a
ImDrawList: Fixed a bug in ChannelsMerge() leading to an extraneous draw call being created, which unexpectly led to more dramatic condition but to faulty draw command merging code. ( #1172 , #1368 )
2017-10-15 21:07:22 +02:00
Dominik Tugend
7a8eb5bdc9
Rendering issue fix
...
Fixes ocornut/imgui#1172
2017-10-15 19:27:53 +02:00
Anthony Pesch
c38526d14b
Completely clear font when rebuilding atlas.
...
Previously, IndexLookup was not cleared on each font, causing FindGlyph to return old glyphs when using MergeMode.
2017-10-01 23:40:29 -04:00
omar
09f6f564d9
ImFontAtlas: Fixed calling Clear() and rebuilding (broken in 3fe2ecfd4c
) thanks @pdoane @mikesart
2017-09-27 11:21:42 +02:00
omar
3fe2ecfd4c
ImFontAtlas: Added support for CustomRect API to submit custom rectangles to be packed into the atlas / and map them as font glyphs
2017-09-26 20:24:27 +02:00
omar
9e1ad7295f
ImFont: Renamed (supposedly internal) fields (e.g. XAdvance to AdvanceX). Custom text renderers might be affected if they didn't use the GetCharAdvance() helper function.
2017-09-26 20:05:16 +02:00
omar
10bb9524eb
ImFont: Renamed ImFont::Glyph to ImFontGlyph (for consistency and so ImFontAtlas types can use it without ordering half of the file). Left a redirection type.
2017-09-26 19:54:30 +02:00
omar
072d6d8cb5
ImFontAtlas: Refactored internals API to 1) avoid building lookup table multiple times for merged fonts + 2) allow the mapping of custom icons inside fonts (wip, uncommited)
2017-09-26 19:26:16 +02:00
omar
2170b0b278
ImFontAtlas: Comments and minor reorganization of declaration in header file.
2017-09-26 19:10:29 +02:00
omar
529ca279a4
ImFont: Split some building code into a AddGlyph() helper (that custom rect code and imgui_freetype can use)
2017-09-26 18:41:21 +02:00
omar
ba12d37719
Merge pull request #1324 from waywardmonkeys/improve-clang-warnings
...
FIxes zealous Clang warning.
2017-09-19 18:18:53 +02:00
omar
709653c330
Merge branch 'master' into styles
2017-09-18 15:03:25 +02:00
Bruce Mitchener
4c794be41d
Improve warning configuration for clang.
...
Clang 4.0 introduced -Wdouble-promotion, so check for and disable
that on clang as we do on gcc.
The old style casts warning is already disabled globally in this file
for clang, so it doesn't need to be re-disabled within this scope.
2017-09-14 10:28:18 +07:00
omar
65632d2682
Fixed alloca include for SunOS ( #1319 )
2017-09-12 11:55:13 +02:00
Daniel Loffgren
cf6ba9dd2d
Don't do a bunch of OS gymnastics. alloca.h is only for glibc, everyone else uses stdlib.h
2017-09-11 00:15:43 -07:00
omar
0ba3cadb88
RenderRectFilledRangeH() can't use cheap acosf() approximation for now. ( #1296 )
2017-08-29 15:25:05 +08:00
omar
01d4bf299a
Added overcomplicated RenderRectFilledRangeH() to fix rounded progress bar, which will also help for range widgets and perhaps sliders grabs over rounded areas. ( #1296 , #76 )
2017-08-29 15:22:30 +08:00
omar
f0fa17b5e0
ImDrawList: Minor renaming
2017-08-29 15:10:03 +08:00
omar
808d631e35
imDrawList: PathArcTo() returns when passed zero radius.
2017-08-28 16:02:25 +08:00
omar
e1d81f4dc5
ImDrawList: Minor tidying up.
2017-08-28 14:12:55 +08:00
omar
1f51e8f39d
Internals: Renamed some ImGuiCorner enums.
2017-08-28 14:11:11 +08:00
omar
f72ca6d22c
ImFontConfig: Added RasterizerMultiply option to alter the brightness of individual fonts at rasterization time, which may help increasing readability for some. Added RasterizerFlags for custom rasterizer flags (aka imgui_freetype)
2017-08-26 14:11:56 +08:00