Commit Graph

567 Commits

Author SHA1 Message Date
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
omar 304de0ee1b ImFontConfig: Comments, const. 2017-08-26 14:11:41 +08:00
omar 40f608ce9b Version 1.52 WIP 2017-08-25 15:12:12 +08:00
omar 55a6209931 Version 1.51 2017-08-25 00:29:59 +08:00
omar bc78535bbf Merge branch 'master' of https://github.com/ggtucker/imgui into ggtucker-master
# Conflicts:
#	imgui.cpp
#	imgui.h
2017-08-20 18:22:34 +08:00
omar 1065a7b95b ImFontAtlas::AddFontDefault: Made it possible to override size (even if it isn't really recommended) 2017-08-20 15:38:05 +08:00
omar 8be7a60f20 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:19:54 +08:00
omar 1086c87767 ImFontAtlas: Re-arranging code to simplify implementation of imgui_freetype. (#618) 2017-08-17 21:13:14 +08:00
omar 4075cc58e9 ImFontAtlas; Re-arranging code to simplify implementation of imgui_freetype (#618) 2017-08-17 20:44:44 +08:00
omar d970957e2d ImFontAtlas: Draft of an api to submit custom rectangle (not exposed). Atlas default texture chunk using it. (WIP: we are still storing mouse UV outside in GImGui) 2017-08-17 19:36:48 +08:00
omar 24a78767d2 Merge branch 'master' into styles
# Conflicts:
#	TODO.txt
2017-08-17 17:24:33 +08:00
omar 4a7e1ff4d4 ImFontAtlas: Some shallow renaming + added an assert for clarification 2017-08-17 15:35:59 +08:00
omar 0be4f66d89 ImFontAtlas: Shuffling some code inside Build() to make upcoming diffs less confusing (nb: we might break compat with forks of Build() like #618) 2017-08-17 11:46:25 +08:00
James Wallis 9239e91dc9 Whitespace fix to previous 2017-08-15 14:12:32 +01:00
James Wallis 718f00d651 Make font atlas packing padding configurable 2017-08-15 14:11:04 +01:00
omar 18b50f8eba Comments 2017-08-15 11:41:36 +08:00
omar f8f382221c ImVector: added resize() variant with initialization value 2017-08-15 11:41:00 +08:00
omar 7b7845d764 ImFont::CalcWordWrapPositionA: minor optimization 2017-08-14 21:00:44 +08:00
omar d258287c92 Revert d2c219d #826 + tidying up ImFont::RenderChar() 2017-08-14 16:53:38 +08:00
omar d2c219df84 Merge pull request #826 from swetland/patch
ImFont: add RenderGlyph() to allow rendering of individual glyphs post-query
2017-08-14 16:50:20 +08:00
omar 6a4064e5f2 PathArcToFast: Minor renaming for clarification. Comments. 2017-08-14 12:25:35 +08:00
omar 4fd148f4f9 Added ImFontAtlas::GlyphRangesBuilder helper + doc 2017-08-09 22:42:03 +08:00
omar e63ebd997f Use ~IM_COL32_A_MASK instead of IM_COL32(255,255,255,0) 2017-07-31 12:25:27 +08:00
omar df56879883 imDrawList::PathRect() uses ImGuiCorner_ enums. Should fully promote this to imgui.h at some point. 2017-07-26 14:53:15 +08:00
omar 1987e23ce5 ImDrawList::PrimReserve() minor renaming of locals to make things clearer 2017-07-15 17:52:52 +08:00