Sam Hocevar
c8ea0a017d
Unicode: UTF32 support improvements ( #2541 , #2538 , #2815 )
...
- Make ImWchar32 unsigned.
- Fix Win32 version of ImFileOpen by including windows.h sooner.
- Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
- Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
- Minor cleaning up in the high-plane Unicode support.
- Fix Clang -Wunreachable-code warning
2020-03-03 18:53:29 +01:00
Cloud Wu
6d59653e82
Unicode: full Unicode Support (6 squashed commits) ( #2541 , #2538 )
...
fix build for WideCharToMultiByte
[3181ff1e] Full Unicode Support
[6c9e73ac] Fix ImTextCountUtf8BytesFromChar and ImTextCharToUtf8, these APIs assume the input is an unicode code point, not UTF-16
[ba85665b] Add AddInputCharacterUTF16 for windows backend to handle WM_CHAR
[fafdcaf0] Use Windows API to convert UTF-16 for ImFileOpen
[dc7d5925] Use windows API to convert UTF-16 for clipboard
2020-03-03 18:53:29 +01:00
Omar
bb1e6f8af6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2020-02-17 18:33:59 +01:00
Omar
09329ea4e6
Fix Clang 9.0 zealous warnings
2020-02-17 15:29:59 +01:00
omar
d284a6cffc
InputText: Fixed password fields displaying ASCII spaces as blanks. Fixed non-ASCII space occasionally creating unnecessary empty polygons. ( #2149 , #515 )
2020-02-11 19:28:11 +01:00
omar
ccaec1a270
Version 1.76 WIP
2020-02-11 16:56:56 +01:00
omar
d16c87a5b1
Internals: Minor renaming
2020-02-10 16:46:51 +01:00
omar
8432d1bfc7
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2020-02-10 14:03:12 +01:00
omar
58b3e02b95
Version 1.75
...
Comments
2020-02-10 14:02:41 +01:00
omar
d37d25470a
Added IMGUI_DISABLE compile-time definition to make all headers and sources empty.
2020-02-09 17:08:33 +01:00
omar
5be649e082
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2020-02-02 21:21:54 +01:00
Rokas Kupstys
9cff4d6e5e
Columns: ImDrawList::Channels* functions now work inside columns.
...
Use a private splitter in columns, paving way for removal of obsolete ImDrawList::Channels* functions.
2020-01-31 12:02:56 +01:00
omar
bbe946fb6c
Minor fixes/tweaks (some to reduce drift wiih master branch)
2020-01-28 20:08:04 +01:00
omar
f5528001f6
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# imgui.cpp
# imgui_internal.h
2020-01-27 14:57:00 +01:00
omar
5363af7f47
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts (amends)
...
Tweak default max error value, Changelog, comments, path-fast for 12 segments circles, made LUT store ImU8
2020-01-23 14:55:05 +01:00
Ben Carter
051ce0765e
AddCircle, AddCircleFilled: Add auto-calculation of circle segment counts
2020-01-23 14:52:48 +01:00
omar
861f786d81
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
2020-01-10 14:38:09 +01:00
omar
d581939387
Removed trailing spaces.
2020-01-06 15:24:16 +01:00
omar
4c108d22f0
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
...
# Conflicts:
# imgui.cpp
2019-12-19 17:01:22 +01:00
omar
f70204f2f4
Minor bits, placeholder aimed at facilitating merging of Tables branch into Docking
2019-12-19 16:53:44 +01:00
omar
c706ff6f3a
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2019-12-18 20:49:41 +01:00
omar
a610f1da52
Bezier Tweaks, fixed parameter order of 3831d50
2019-12-17 16:43:05 +01:00
Rokas Kupstys
3831d50ab9
Add ImBezierClosestPoint() function which returns a point on bezier curve which is closed to a specified point.
2019-12-17 16:22:02 +01:00
omar
992736dc5d
Merge branch 'refs/heads/master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2019-12-13 17:06:27 +01:00
Ben Carter
0e74103659
ImDrawList: Add AddNgon(), AddNgonFilled() API.
2019-12-09 11:23:06 +01:00
Ben Carter
697f15e339
Added PrimUnreserve() API. Obsoleted calling ImDrawList::PrimReserve() with a negative count.
2019-12-08 16:06:32 +01:00
omar
8342e5b91a
Amend previous commits (added ImGuiMouseCursor_NotAllowed enum + new cursors in GLFW 3.4)
...
Amend b5cad20d79
, 945a509773
+ unrelated minor typos
2019-12-05 15:45:30 +01:00
omar
abaf0256b8
Version 1.75 WIP
...
Added message to font file loading assert.
2019-11-28 20:58:16 +01:00
omar
813e0c18e6
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_dx12.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_metal.h
# examples/imgui_impl_metal.mm
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-11-26 12:23:43 +01:00
omar
bdce833636
Version 1.74
2019-11-25 18:38:53 +01:00
omar
51e2e9b239
ImVector: Added shrink() helper. ImFont::RenderText minor optimisation for debug build. Misc: Metrics shows tab names because we now have them.
2019-11-22 14:06:51 +01:00
omar
51a02b319c
Added IM_UNICODE_CODEPOINT_MAX. Changed specs of ImFontAtlas::AddCustomRectRegular() (breaking change).
2019-11-21 14:13:17 +01:00
omar
b3e94f5de8
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-10-29 17:21:19 +01:00
stfx
6bf5aed325
Declaration and assignment can be joined, Member function may be 'const'. ( #2875 )
2019-10-29 17:11:49 +01:00
Rokas Kupstys
c863c1f6a1
Clean up number rounding. Now it is more obvious what code is doing. ( #2862 )
...
Add IM_ROUND() macro
Replace IM_FLOOR(n + 0.5f) and ImFloor(n + 0.5f) with IM_ROUND(n)
2019-10-29 17:05:25 +01:00
omar
7feccf9ab2
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl2.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# imgui.cpp
2019-10-18 16:50:30 +02:00
Rokas Kupstys
714fe29d1a
Replace manual flooring with IM_FLOOR() macro. ( #2850 )
...
Macro is used to ensure that flooring operation is always inlined even in debug builds. __forceinline does not force inlining in /Od builds with MSVC.
(cherry picked from commit bc165df6fd7969605bbc07b8a6d3d28f9109e8f3)
2019-10-18 16:18:38 +02:00
omar
e0c0e53edf
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-10-04 19:22:42 +02:00
omar
c262276988
Version 1.74 WIP
2019-09-30 14:27:56 +02:00
omar
6994bf10bc
Merge branch 'master' into docking + fix for RenderMouseCursor()
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-24 17:14:51 +02:00
omar
d5efe16157
Version 1.73
2019-09-24 17:02:26 +02:00
omar
52deb415e0
Internal: Refactored internal RenderMouseCursor so colors can be specified. ( #2614 )
2019-09-23 14:53:49 +02:00
omar
af93c21cf9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-09-18 17:27:14 +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
575df6f192
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_draw.cpp
# imgui_internal.h
2019-09-17 16:35:50 +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
e1fca8d982
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-08-23 12:21:49 +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
aedcd2fb1a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx11.cpp
# imgui.cpp
2019-08-19 21:49:53 +02:00
omar
f624455d7b
Version 1.73 WIP
2019-08-01 10:57:13 -07:00
omar
b8d8355f10
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-31 14:34:58 -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
a1164399b0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-07-27 18:21:41 -07:00
omar
ecb9b1e2eb
Version 1.72
2019-07-27 18:15:07 -07:00
omar
db2581bee9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-07-23 13:35:01 -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
56e10f1c35
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-07-16 18:29:31 -07:00
omar
d52c6316c8
Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Keep redirection typedef (will obsolete).
2019-07-12 11:58:46 +02:00
omar
1f54c16f52
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-07-02 18:47:10 +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
e2c1f0a7cd
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-06-18 23:12:50 +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
b27fd87177
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2019-06-17 11:10:14 +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
d3d998a885
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/README.txt
# imgui.cpp
# imgui.h
# imgui_internal.h
# imgui_widgets.cpp
2019-06-12 18:40:50 +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
596d81a973
Merge branch 'master' into docking
2019-05-31 12:09:40 +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
84f3ecc231
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-05-30 18:52:24 +02:00
omar
42c98c5eea
ImDrawList: Fix broken channel splitting (broken by d1e8b69
) ( #2591 )
2019-05-30 18:47:46 +02:00
omar
c72040a715
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx10.h
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx11.h
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_dx9.h
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_opengl3.h
# examples/imgui_impl_osx.h
# examples/imgui_impl_osx.mm
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2019-05-29 16:20:26 +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
04022114d9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-05-21 14:47:29 +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
835a8b2c9b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2019-05-10 22:56:43 +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
7e67aba286
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2019-04-29 13:06:55 +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
50ceb25003
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_vulkan.cpp
2019-04-07 16:23:31 +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
49fb8e6c45
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl3.cpp
2019-04-03 11:17:26 +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
9350158d61
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2019-03-25 16:08:09 +01: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
b1af4d36ce
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
2019-03-13 15:30:35 +01:00
omar
55c02099c5
Version 1.69, comments, typos
2019-03-13 15:29:43 +01:00
omar
9afb849e16
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
2019-03-12 18:28:47 +01:00
omar
a92c587c75
Added GetGlyphRangesVietnamese() helper. ( #2403 )
2019-03-11 22:02:59 +01:00
omar
f7db4fad31
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
2019-03-11 16:08:16 +01:00
Bruce Mitchener
b5d57a6615
Fix typos. ( #2413 )
2019-03-09 10:10:17 +01:00
omar
8414c0bb09
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-03-04 18:08:19 +01:00
omar
8915f7933a
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-02-24 23:24:07 +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
87ded34f9f
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_opengl3.cpp
# imgui_widgets.cpp
2019-02-22 12:29:18 +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
9dc02464a4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-02-19 13:04:35 +01:00
omar
3c15dffc94
Version 1.68
2019-02-19 12:50:46 +01:00
omar
5bf9029bf9
Merge branch 'master' into docking
2019-02-18 12:16:13 +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
09c9bf2edb
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-02-14 20:35:11 +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
2cada3c143
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_widgets.cpp
2019-02-11 18:59:49 +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
be107ba8f8
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-02-05 13:52:32 +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
13a5f5ba8b
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2019-01-27 16:46:35 +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
f94af2f5c5
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_draw.cpp
2019-01-20 22:13:35 +01:00
omar
8079344cee
Merge branch 'master' into viewport
...
# Conflicts:
# examples/example_sdl_vulkan/main.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_vulkan.h
# imgui.cpp
2019-01-20 22:12:06 +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
82e31d34f0
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_win32.cpp
2019-01-18 12:31:33 +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
b5144e477f
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2019-01-17 14:06:42 +01:00
omar
e9c625a1dc
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# imgui_demo.cpp
2019-01-17 14:05:40 +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
32c4e01267
Various tweaks and fixes as suggested by PVS Studio (thanks PVS Studio!)
2019-01-16 16:13:23 +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
8a45c56c2c
Merge branch 'viewport' into docking
2019-01-15 21:22:29 +01:00
omar
9391a97fbf
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
2019-01-15 21:22:21 +01:00
omar
95ee99e6aa
Version 1.68 WIP
2019-01-15 20:19:05 +01:00
omar
ff4bd758ca
Merge branch 'viewport' into docking
2019-01-14 21:30:07 +01:00
omar
e24674fc0e
Merge branch 'master' into viewport
2019-01-14 21:30:01 +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
529fccd9c2
Merge branch 'viewport' into docking
2019-01-13 14:19:40 +01:00
omar
4ee4f65c70
Merge branch 'master' into viewport
2019-01-13 14:19:31 +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
8011197c50
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
2019-01-10 16:02:32 +01:00
omar
c96aaef132
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2019-01-10 16:01:36 +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
6b32570644
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui_internal.h
# imgui_widgets.cpp
2019-01-07 21:29:15 +01:00
omar
5af930f97a
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2019-01-07 21:28:29 +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
e043b89814
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.h
2018-12-20 17:03:21 +01:00
omar
02501f07c3
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-12-20 16:54:32 +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
067b691fd8
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/TODO.txt
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_draw.cpp
# imgui_internal.h
# imgui_widgets.cpp
2018-12-11 13:23:00 +01:00
omar
c40feabe4d
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2018-12-11 12:41:40 +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
5105c6c0d0
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
2018-12-04 00:06:26 +01:00
omar
3a678d48b1
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
2018-12-04 00:05:45 +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
ac10889bde
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2018-12-03 11:44:51 +01:00
omar
65e579e558
Merge branch 'master' into viewport
...
# Conflicts:
# docs/CHANGELOG.txt
# examples/imgui_impl_dx10.cpp
# examples/imgui_impl_dx11.cpp
# examples/imgui_impl_dx12.cpp
# examples/imgui_impl_glfw.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_sdl.cpp
# examples/imgui_impl_vulkan.cpp
# examples/imgui_impl_win32.cpp
# imgui.h
# imgui_demo.cpp
2018-12-03 11:41:53 +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
34e18ef771
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:48:39 +01:00
omar
8289e5f6b4
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:48:25 +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
d23c69d319
Docking: Added context menu option to hide the tab bar of single-window dock nodes, similar to Unreal. ( #2109 )
2018-11-26 17:25:06 +01:00
omar
ddc3f8f069
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_internal.h
2018-11-26 15:32:04 +01:00
omar
5261e5a6ba
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
2018-11-26 14:53:51 +01:00
omar
d27ffefbd4
Version 1.67 WIP
2018-11-22 18:59:57 +01:00
omar
2515413080
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_widgets.cpp
2018-11-22 15:29:18 +01:00
omar
d87b80c6c1
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
2018-11-22 15:28:27 +01:00
omar
da3c4330c1
Version 1.66
2018-11-22 15:11:52 +01:00
omar
5f8c9ae0ef
Merge branch 'viewport' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:57:54 +02:00
omar
056af2b1af
Merge branch 'master' into viewport
...
# Conflicts:
# imgui.cpp
# imgui.h
2018-10-18 10:56:26 +02: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
e73217d6f7
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
2018-10-12 15:50:48 +02:00
omar
2eaf5b03df
Fixes crash introduced in previous commit 9cf94d5
.
2018-10-12 13:30:00 +02:00
omar
ede3a3b92d
Fixes crash introduced in previous commit 9cf94d5
.
2018-10-12 13:29:13 +02:00
omar
c398153b40
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_impl_sdl.cpp
# imgui.cpp
# imgui_internal.h
2018-10-12 13:01:20 +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
bd82539ad5
Docking: Fixed DockSpace() child window displaying a scrollbar behind the node backgrounds. Rename ImGuiCol_DockingBg to ImGuiCol_DockingEmptyBg. Added ImGuiDockNode::IsLeaftNode(). ( #2109 )
2018-10-03 14:42:47 +02:00
omar
c6193d0605
Merge branch 'viewport' into docking
2018-09-26 21:35:09 +02:00
omar
6cc380fc41
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_win32.cpp
# examples/imgui_impl_win32.h
# imgui.cpp
2018-09-26 21:34:52 +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
omar
b55b9aee9b
Fixed bad merge ( a82be53
) where we lost the version number in Docking branch + moved Docking related API together for now.
2018-09-14 18:09:46 +02:00
omar
e32256b4b4
Merge branch 'viewport' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui_demo.cpp
# imgui_internal.h
2018-09-14 11:38:10 +02:00
omar
b85f345369
Merge branch 'master' into viewport
...
# Conflicts:
# examples/imgui_impl_dx9.cpp
# examples/imgui_impl_opengl2.cpp
# examples/imgui_impl_opengl3.cpp
# examples/imgui_impl_vulkan.cpp
2018-09-14 11:32:55 +02:00