Commit Graph

1295 Commits

Author SHA1 Message Date
omar
429f48bb4f Clarified usage of ListBoxHeader() before we rename those functions + fixed demo code that didn't honor it correctly. (#1783) 2018-04-29 12:20:22 +02:00
omar
f2e9dddeca DragDrop: Removed const qualifier from ImGuiPayload 's void* data, easing casting on user side. 2018-04-28 10:43:15 +02:00
omar
f80314754c InputFloat,InputFloat2,InputFloat3,InputFloat4: Added variations taking a more flexible and consistent optional "const char* format" parameter instead of "int decimal_precision". This allow using custom formats to display values in scientific notation, and is generally more consistent with other API. Obsoleted functions using the optional "int decimal_precision" parameter. (#648) 2018-04-28 00:11:40 +02:00
omar
73445ff248 Renamed all "display_format" arguments to "format" to emphasis that they also affect rounding of values. (#648, #642) 2018-04-27 23:44:27 +02:00
omar
28edece04f Comments, minor tweaks 2018-04-27 17:32:03 +02:00
omar
c47d34cf70 Viewport: Exposing SetNextWindowViewport(). Used in demo and old/obsolete SetNextWindowPosCenter() (which is an interesting case). Fixed back-end likely crash calling GetFocus() after viewport destruction. Fixed metrics crash. 2018-04-27 15:13:22 +02:00
omar
f1ae07e532 Viewport, Platform: Using Platform_GetWindowFocus to provide a much stronger heuristic of platform z-order, in replacement for when the back-end cannot provide io.MouseHoveredViewport. The pressure for it to work well increased with the use of viewports by popups/menus. (#1542) 2018-04-26 11:52:38 +02:00
omar
d9cd494eaf Viewport: Moved ScaleWindow* code in a proper location. Various comments. 2018-04-25 23:21:26 +02:00
omar
eb1c36fdfb Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (#1695, #1769) 2018-04-25 22:07:14 +02:00
omar
5979233a3c Misc: tweaks + minor changes merged from master to reduce branch drift. Removed code that ended up unused. 2018-04-25 18:23:39 +02:00
omar
e3453d0dc4 Misc: Comments and shallow/small changes (merged from viewport branch to minimize branch drift). 2018-04-25 17:58:53 +02:00
omar
3b9b1956cd Merge branch 'master' into viewport
# Conflicts:
#	examples/allegro5_example/imgui_impl_a5.cpp
#	examples/allegro5_example/imgui_impl_a5.h
#	examples/allegro5_example/imgui_impl_allegro5.cpp
#	examples/allegro5_example/imgui_impl_allegro5.h
#	examples/allegro5_example/main.cpp
#	examples/imgui_impl_allegro5.cpp
#	examples/imgui_impl_allegro5.h
#	imgui.cpp
#	imgui_internal.h
2018-04-25 15:32:04 +02:00
omar
7a41e0b1ea Platform: Added platform_io.Platform_SetWindowFocus, Platform_GetWindowFocus function wrappers (unused yet). Exact specs tbd because our simplified concept of focus doesn't necessary match the more complex OS native concepts. (#1542) 2018-04-25 15:15:14 +02:00
Bruce Mitchener
7ebdadf92b Fix various typos. 2018-04-25 09:40:14 +02:00
omar
cb78e62df9 Viewport, Platform: Fixed IME positioning for multi-viewport. Moved API from ImGuiIO to ImGuiPlatformIO. Because it is extremely unlikely to people redefined this API manually the moving-forward-breakage is ok. (#1542)
SDL2 ime support under Win32 never worked properly because of SDL interferences.
2018-04-24 12:40:38 +02:00
omar
376f2aec54 Viewport: Clamp windows within monitors + fallback rescue window when it is out of sight (e.g. removed monitor, changed resolution) + Win32: declare primary monitor at the beginning of the list. (#1542) 2018-04-23 23:01:37 +02:00
omar
d268471285 Viewport: Added ImGuiConfigFlags_ViewportsNoMerge flag (to enforce a platform window for all floating windows) + minor tidying up and addition of non-functional wip code. 2018-04-23 18:56:25 +02:00
omar
4433ce4312 Viewport, Platform: Added work area in ImGuiPlatformMonitor. Renamed fields. (#1542) 2018-04-23 12:38:20 +02:00
omar
456bbffcc4 Viewport: Switched to using unified platform-absolute mouse coordinates, which simplify lots of problems and simplify/reduce tricky conversions, makes ImVec2 less ambiguous. Fixed various viewport/windowing/popups/synchronization bugs. Settings on host-viewport are stored as relative (made settings decently compatible between viewport enable/disabled settings). Merged ImGuiViewport::Pos and ::PlatformPos. Tweaked thumbnails. Better, smaller code. (#1542) 2018-04-20 21:36:36 +02:00
omar
1c385c2ca4 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
#	imgui.cpp
#	imgui_internal.h
2018-04-18 19:06:49 +02:00
omar
6a0b2627ad BeginMainMenuBar: Followup to 1e41bad9. Removed public window flag. DisplaySafeAreaPadding defaults to (3,3) instead of (4.4). Comments, tab to spaces, Changelog. (#1439) 2018-04-18 17:37:35 +02:00
Doug Binks
1e41bad90f Added DisplaySafeAreaPadding to MainMenuBar height and fixed starting x position. Fixes main menu bar problems with TVs. (#1439) 2018-04-18 15:13:09 +02:00
omar
0d16492eb7 Viewport: Moved ImGuiWindowFlags_FullViewport to an internal ViewportOwned flag. Renamed AddViewport to AddUpdateViewport. (#Viewport: Shuffled code in Begin to reset size of reappearing popups prior to selecting viewport, to avoid mistakenly using an old size. Moved code out of UpdateSelectWindowViewport() to the section of Begin where positions is being locked down, to avoid code in-between duplicating this. (#1542)) 2018-04-16 17:11:59 +02:00
daniel-murray
83d97d4a9b Fix typos KeyDown => KeysDown 2018-04-14 10:28:10 +02:00
omar
950539b768 Viewport, Platform, DPI: Back-end store per-monitor DPI information in ImGuiPlatformMonitor. (#1542, #1676) 2018-04-13 20:26:36 +02:00
omar
285269ef55 Viewport, Platform: Added ImGuiViewportFlags_TopMost that will be used by tooltip window (without it, clicking and holding the window emitting the tooltip would move the tooltip to the back) + GLFW backend fixes for non-win32 platforms. (#1542) 2018-04-11 21:27:19 +02:00
omar
e25da4230b Merge branch 'master' into viewport
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2018-04-11 21:25:44 +02:00
omar
83bd3595a4 Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. (#1542) 2018-04-10 22:58:39 +02:00
omar
32ee0a3947 Viewport, Platform: Added a way to register monitor bounds to imgui so they can be used to clamp individual-viewport tooltips/popups so they don't straddle monitors. (#1542) 2018-04-10 22:32:08 +02:00
omar
7ddc22b326 Viewports, DPI: Renamed config flags. (#1542) 2018-04-10 20:02:43 +02:00
omar
0d5042f0f3 Viewport: Popups, Tooltips can individually request no task bar icons to the platform layer. (#1542) 2018-04-10 19:15:44 +02:00
omar
74a11e2087 Viewport: Merge fix conflicting flags. 2018-04-09 22:15:46 +02:00
omar
d4dd448511 Examples, Platform, Viewport: Fixed inconsistent window ownership issues. Added comments. Made Win32/SDL back-ends track ownership. 2018-04-09 22:01:58 +02:00
omar
9117632bf0 Misc: IM_DELETE() helper function added in 1.60 doesn't clear the input _pointer_ reference, more consistent with expectation and allows passing r-value. 2018-04-09 20:42:49 +02:00
omar
56ad2a2d74 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/vulkan_example/main.cpp
#	imgui.h
2018-04-09 19:35:14 +02:00
omar
6f1f5cbc20 Version 1.61 WIP 2018-04-09 14:02:32 +02:00
omar
dd079fe6e6 Version 1.60 (missed the string). Will retag. 2018-04-09 13:52:24 +02:00
omar
8acda84202 Nav: Fixed comment. (#1599) 2018-04-08 12:27:11 +02:00
omar
f421e73b40 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2018-04-06 23:36:23 +02:00
omar
c2fc978983 Style: Default style is now StyleColorsDark()! Toward a 1.60 release :) (#707) 2018-04-06 23:25:25 +02:00
omar
c1bdab6d5b Comments about io.WantCapture flags + todo entries. 2018-04-06 19:36:14 +02:00
omar
2464e62a1a IO: Added ImGuiConfigFlags_NoMouse to force clear/disable mouse inputs in NewFrame(). 2018-04-06 19:36:13 +02:00
omar
72b7f48870 Renamed ImGuiConfigFlags_NoSetMouseCursor to ImGuiConfigFlags_NoMouseCursorChange. Followup to 75c3793db5 two weeks ago. (#787, #1495, #1202) + comments 2018-04-06 18:12:21 +02:00
omar
84c6ea0cee Viewport: Comments about honoring ImGuiViewportFlags_NoInputs and MouseHoveredViewport. (#1542) 2018-04-05 12:27:17 +02:00
omar
9d8bc79025 Viewport: Renamed RenderPlatformWindows() to RenderPlatformWindowsDefault(), tweaked examples and emphasis optional Viewport code path. (#1542) 2018-04-05 11:06:00 +02:00
omar
0cad274b87 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.h
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
#	imgui.cpp
2018-04-04 19:39:42 +02:00
omar
4649967112 Added extra comments and assertions to avoid user combining ImGuiCond flags. (#1694) 2018-04-04 15:01:01 +02:00
omar
cd1e6e384f Tooltip windows uses PopupBorderSize (#1697) + commented out debug stuff. 2018-04-04 12:39:48 +02:00
omar
ac8931b2e9 Viewport: Moved OverlayDrawList to be a per-viewport instead of being global + fix overlay clipping glitch during viewport creation frame + support for software mouse cursor stradding over multiple viewport. The overlay draw list move is rather important as draw lists are not shared among viewports anymore and we can do a swap of their data without copying it. (#1542) 2018-03-22 22:09:42 +01:00
omar
c19b27813d Added InputDouble() function. We use a format string instead of a decimal_precision parameter to also for "%e" and variants. (#1011) May transition the other InputXXX function to use format strings as well. 2018-03-22 18:58:40 +01:00
omar
c796960ff9 InputFloat: Scientific input. InputText: Added ImGuiInputTextFlags_CharsScientific to add 'e' 'E' to list of characters that can be input. (later useful for #1011) 2018-03-22 17:49:53 +01:00
omar
172570acae Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
#	imgui.h
2018-03-20 22:14:34 +01:00
omar
75c3793db5 IO: Added ImGuiConfigFlags_NoSetMouseCursors. Added ImGuiBackendFlags_HasMouseCursors, ImGuiBackendFlags_HasSetMousePos. (#787, #1495, #1202) 2018-03-20 21:19:23 +01:00
omar
dcf7c3d188 Added ImGuiBackendFlags for backend to expose its capabilities. Added ImGuiBackendFlags_HasGamepad. (#787, #1542) 2018-03-20 20:39:44 +01:00
omar
170f44e6f0 IO: Renamed io.WantMoveMouse to io.WantSetMousePos (was added in 1.52, _not_ used by core and only honored by some binding ahead of merging the Nav branch) + internal renaming (#787) 2018-03-20 20:12:34 +01:00
omar
c29971cf72 Merge branch 'master' into viewport
# Conflicts:
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/vulkan_example/main.cpp
2018-03-20 16:05:31 +01:00
omar
70d500502a ImVector: Fixed insert() helper using the = operator (followup to be consistent with 4186c2c2b1) 2018-03-20 11:35:10 +01:00
omar
2fecd332fc Viewport, Platform: Added void* to render/swap buffer functions. Comments. (#1542, #1042) 2018-03-19 15:20:47 +01:00
omar
33ad8b2f0c Nav: Track nav input source more generally (gamepad vs keyboard) (#787) + update todos and demo tweaks 2018-03-19 13:20:18 +01:00
omar
46b61427e1 Viewport, Platform: Refactored platform interface. Removed need to use imgui_internal.h in backends. Split viewport into public facing ImGuiViewport and internal structure. Exposing enough data to provide custom tweaked renderers. Renamed handlers, fixed lots of inconsistencies. (#1542, #1042) 2018-03-18 18:44:57 +01:00
omar
bcf4ed28a9 Merge branch 'master' into viewport
# Conflicts:
#	imgui.h
2018-03-18 12:51:57 +01:00
omar
d8d93f6360 imgui.h: Various comments and tweaks. 2018-03-18 12:24:28 +01:00
omar
6fe22e6297 imgui.h: Moved columns lower in the file. Various spacing changes and minor comments. 2018-03-18 12:23:33 +01:00
omar
6cfc9e6256 Merge branch 'master' into viewport
# Conflicts:
#	imgui.h
2018-03-17 21:20:01 +01:00
omar
6bda816ffe ImVector: Added copy/assign operators as helpers to ease cloning of data. 2018-03-17 21:18:14 +01:00
omar
1e296453ef ImDrawList: Added Clone() helper function. 2018-03-17 21:18:14 +01:00
omar
4186c2c2b1 ImVector: resize() / push_back() use memcpy() as we are not supposed to be constructor/destructor/operator aware at all. (If we do need to rework ImVector). In turn this will allow us to define assign/copy operators. 2018-03-17 20:42:56 +01:00
omar
d68be086b2 ImVector: Using value_type consistently. Spacing. 2018-03-17 18:08:12 +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
d0e0b106f0 Examples: SDL,GLFW,Vulkan: The Platform<>Renderer link is handled by SDL/GLFW platforms, both can compile without Vulkan headers, SDL+Vulkan is now on part with GLFW+Vulkan (aka broken the same way!). (#1542) 2018-03-13 23:16:15 +01:00
omar
921bb92eec Viewport: Fixed software mouse cursor from appearing in all multiple lists simultaneously. (#1542) 2018-03-13 16:20:34 +01:00
omar
c50198debe Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize (#1542) wip 2018-03-13 16:20:27 +01:00
omar
8657201257 Merge branch 'master' into viewport 2018-03-13 16:20:02 +01:00
omar
0e3a6ef4f7 Moved IM_NEW, IM_DELETE helpers to imgui.h for convenient use by back-ends and user code. 2018-03-13 16:18:40 +01:00
omar
7b833dabc8 ImVector: Spacing, assert tweaks 2018-03-13 16:18:40 +01:00
omar
26296bb4c1 Misc: Fix 111ea7af77, GetStyleColorName() would assert, removed removed ImGuiCol defines (too much risk/complexity trying to silently ignore it). 2018-03-13 11:53:12 +01:00
omar
b88492746e Examples, Viewport: Vulkan: Experiment (broken) multi-viewport support, merging code from ParticlePeter branches. (#1542, #1042) 2018-03-12 18:43:25 +01:00
omar
f6fc28dfd2 Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042) 2018-03-12 17:50:32 +01:00
omar
111ea7af77 Misc comments, todos + reintroduced removed ImGuiCol defines under !IMGUI_DISABLE_OBSOLETE_FUNCTIONS wrap. 2018-03-12 17:24:15 +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
5e63711084 Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. (#1542, #1676) 2018-03-12 10:31:39 +01:00
omar
1f6ad7a894 ImFont: Added FindGlyphNoFallback. Fixed MergeMode broken by 1ef1acbd8d 2018-03-10 10:33:12 +01:00
omar
64cbbed152 Merge branch 'master' into viewport 2018-03-09 10:41:12 +01:00
omar
43f375b2f2 Viewport,Platform: Added GetWindowDpiScale() platform interface, changes of scale are reflected by positioning and resizing windows in their given viewport. (#1542) 2018-03-09 10:40:38 +01:00
omar
1eb89d7e3b Viewport: Changed signature of ResizeViewport to be consistent with other similar functions. 2018-03-08 20:32:34 +01:00
omar
4d46383100 Viewport: Coupling non-main viewport to one window. Viewport name derived from the window. Added ImGuiConfigFlags_PlatformNoTaskBar, off by default (aka re-established task-bars by default for now). (#1542) 2018-03-08 20:27:01 +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
642c6748ac Comments, Changelog 2018-03-08 11:15:27 +01:00
omar
a1f3949d71 Drag and Drop: Increased payload data type to 32 characters. (#143) 2018-03-08 10:42:51 +01:00
omar
9dcc07422e Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. (#1542) 2018-03-07 12:35:26 +01:00
omar
3637193556 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_glfw.h
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
#	imgui.cpp
2018-03-06 20:02:40 +01:00
omar
8e3274e137 Viewport: Tracking current viewport we are appending to + added callback in PlatformInterface for DPI purpose (WIP). (#1542) 2018-03-05 22:31:12 +01:00
omar
0ec356eb6e Comments, FAQ update. 2018-03-05 13:05:47 +01:00
omar
c4a158656e Merge branch 'master' into viewport
# Conflicts:
#	examples/allegro5_example/main.cpp
#	examples/directx10_example/main.cpp
#	examples/directx11_example/main.cpp
#	examples/directx12_example/main.cpp
#	examples/directx9_example/main.cpp
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/imgui_impl_glfw.h
#	examples/imgui_impl_vulkan.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl2_example/main.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/opengl3_example/main.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/vulkan_example/main.cpp
#	imgui.cpp
#	imgui.h
2018-03-03 23:13:31 +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
8a4093f38b Added ArrowButton(). Exposed ImGuiDir. 2018-03-03 20:08:03 +01:00
omar
1549c5cf5e BeginCombo(): Added ImGuiComboFlags_NoArrowButton and ImGuiComboFlags_NoPreview flags + hover color matches drag and sliders. 2018-03-03 19:43:31 +01:00
omar
e9fa17e1bf Viewport: Replaced UpdatePlatformWindows/RenderPlatformWindows by RenderAdditionalViewports(). The update is always called in EndFrame(). (#1542) 2018-03-02 22:44:06 +01:00