omar
17a7f352b5
Viewporrt. Examples: DirectX10,11: Make the platform SetWindowSize handler not crash on failure to resize, which could happen (rarely) on invalid data or bug in the code.
2018-04-19 17:23:43 +02:00
omar
637d9c42bf
Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. ( #1542 )
2018-04-19 13:12:02 +02:00
omar
bcac02809f
Examples: Allegro 5: Renamed bindings from imgui_impl_a5.cpp to imgui_impl_allegro5.cpp.
2018-04-18 21:55:12 +02:00
omar
3913297384
Examples: Allegro 5: Added support for 32-bit indices setup via defining ImDrawIdx, to avoid an unecessary conversion (Allegro 5 doesn't support 16-bit indices).
2018-04-18 21:51:14 +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
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
22d6f00110
Viewport: Fixed DPI changing viewport from interfering with moving another window (disabling code) + metrics crash fix on closed viewport window + Windows 10 call to SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) for DPI, with no noticeable improvements. ( #1542 , #1676 )
2018-04-13 11:14:06 +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
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
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
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
660c157880
Examples: Added missing calls for ::DestroyWindow, glfwDestroyWindow() + fix old comments.
2018-04-09 19:16:47 +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
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
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
72899318e6
Viewport, Platform, Examples: Added support for transparent window via PlatformIO Platform_SetWindowAlpha ( #1542 ) + fixes for GLFW 3.3
2018-04-05 17:07:46 +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
664ab85f76
Examples: Tweak comments. ( #1704 , #1708 ).
2018-04-02 17:31:51 +02:00
omar
ca39070ca0
Examples: Win32: Fixes for MingW which doesn't support a 2007 define? I have no idea why people still use MingW ( #1704 , #1463 )
2018-03-28 23:32:02 +02:00
omar
cd602b8832
Examples: SDL: Note about SDL breaking the IME under Windows (I can't seem a way SDL2 Windows IME implementation can possibly work, the functions are never called/referenced).
2018-03-23 12:03:57 +01:00
omar
200754b013
Examples: GLFW: Don't alter cursor mode if GLFW_CURSOR input mode is GLFW_CURSOR_DISABLED. ( #1202 ) [@PhilCK]
2018-03-20 22:42:05 +01:00
omar
94116f1143
Examples: GLFW: Don't alter cursor mode if GLFW_CURSOR input mode is GLFW_CURSOR_DISABLED. ( #1202 ) [@PhilCK]
2018-03-20 22:41:05 +01:00
omar
42ad3c1dd3
Examples: OpenGL2: Added multi-viewport support in the OpenGL2 back-end. ( #1542 ) + Metrics: Fix undisplayed flag.
2018-03-20 22:19:41 +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
74b7dce394
Examples: Renamed applications to emphasis on use of GLFW as a platform framework + minor local tweaks
2018-03-20 16:00:59 +01:00
Christian Forfang
4485e56e02
Examples: Vulkan: Fix missing subpass dependency
...
Without a dependency between pWaitDstStageMask (COLOR_ATTACHMENT_OUTPUT)
and the render-pass, the UNDEFINED -> COLOR_ATTACHMENT_OPTIMAL transition
might happen before the image is ready to be used.
2018-03-19 16:48:03 +01:00
omar
a73f6d06e0
Examples: Vulkan: Using VK_PRESENT_MODE_MAILBOX_KHR. Disable IMGUI_UNLIMITED_FRAME_RATE by default. Fixed warnings. ( #1042 )
2018-03-19 16:47:28 +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
0e09032750
Viewport, Examples: Renamed types used by examples. ( #1542 )
2018-03-18 22:19:02 +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
1ab236d9df
Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). ( #1542 )
2018-03-15 20:07:48 +01:00
omar
2e1ac0f683
Viewport, Platform: SDL: Makes the CreateViewport function restore current GL context so in theory it is free from side-effect. That said, it seems like there is a bug in SDL because our CreateViewport (currently in Render(), not for long) have affect a jerky side-effect if SDL_GL_MakeCurrent() is called before Render(). ( #1542 )
2018-03-15 19:25:23 +01:00
omar
8364d1ca6c
Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. ( #1542 , #1042 )
2018-03-15 18:17:04 +01:00
omar
09d8943967
Examples Refactor: GLFW: Explicit functions to init GLFW with OpenGL or Vulkan since we cannot read the api hints from glfw.
2018-03-15 16:42:21 +01:00
omar
6e58a95a01
Viewport, Platform, Examples: Changes to resizing flow + restored support for Platform events affecting the ImGui windows (so Decorated windows are functional). ( #1542 , #1042 ) ..
...
SDL: Added platform move/resize/close support.
GLFW: Added platform move/resize support. Moved Close to use callback for consistency.
Win32:
Vulkan: Fixed resize support.
Naming is WIP "PlatforrmRequestXXX" is too ambiguous. Basically we either have a ImGui->Platform flow or a Platform->ImGui flow. Working a bigger refactor now.
2018-03-15 10:57:22 +01:00
omar
83ef61fa56
Examples: SDL: Fix for versions olders than 2.0.6
2018-03-14 14:14:16 +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
98b66a5fc9
Examples: Using draw_data->DisplaySize, followup to c50198debe
. Fix Vulkan secondary viewport rendering. SDL+Vulkan: Matched changes. Fix vcprojs. ( #1542 , #1042 )
2018-03-13 23:07:12 +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
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
cdeef65b05
Examples: Vulkan: Passing Queue, QueueFamily to binding. Fixed scissor (fixed in master). ImGui_ImplVulkanH_DestroyWindowData() waits for device to be idle. ( #1042 )
2018-03-12 17:37:28 +01:00
omar
1e81a53e75
Examples: DPI: Minor warning fix. ( #1676 )
2018-03-12 16:22:24 +01:00
omar
37cb177745
Examples: Vulkan: Only resize swap chain and framebuffer once. ( #1042 )
2018-03-12 14:47:41 +01:00
omar
1c18d65313
Examples: Renamed glfw error callback for clarity.
2018-03-12 14:43:37 +01:00
Peter Particle
b2453d7e8f
Fixed resize window validation errors with removing frame prerender once and present last but one frame functionality. Frame rate is still similar.
2018-03-12 14:34:36 +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
a2fbcc9ad4
Examples: DPI: Portable DPI related helpers in the _Win32 examples. Using one in examples's main.cpp, the GetDpiScale functions are not wired anywhere for now. ( #1542 , #1676 )
2018-03-12 10:31:39 +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
aa3fe81c87
Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit.
2018-03-08 18:46:30 +01:00
omar
9ea16e344a
Viewport: Disable extra viewports from hosting other windows. ( #1542 )
2018-03-07 16:34:18 +01:00
omar
d8719cf59b
Fixed warnings.
2018-03-07 14:46:53 +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
52c78820aa
Examples: SDL: Fix for pre 2.0.4.
2018-03-07 12:19:19 +01:00
omar
19b92751b9
Examples: Updated Makefile and batch files to work with new examples. Using lowercase "gl.h" as it seems this is what Linux wants.
2018-03-07 12:05:47 +01:00
omar
f318f2d5ea
Examples: Added Makefile for SDL+OpenGL2 example. ( #1668 )
2018-03-07 11:51:41 +01:00
omar
7fd62baa42
Examples: Added Makefile for SDL+OpenGL2 example. ( #1668 )
2018-03-07 11:50:56 +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
a2ed3ee2cf
Examples: OpenGL3: Added a way to override the glsl version number through the Init call. ( #1667 , #1466 )
2018-03-06 19:48:30 +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
e026c8d3b7
Viewport: Give a chance to platform and renderer to actually destroy their data. Otherwise the regular ImplXXX_Shutdown + following by DestroyContext() order fails to fullifl this. ( #1542 )
2018-03-03 22:53:31 +01:00
omar
cab41d954e
Examples: Vulkan: Further refactor.
2018-03-03 22:38:24 +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
e0cbfd74d7
Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h
2018-03-02 23:59:21 +01:00
omar
426930e028
Examples: Vulkan: Moved main.cpp data structures to imgui_impl_vulkan.h as shared helpers for the benefit of both the example and the platform/viewport renderer interface.
2018-03-02 23:05:23 +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
omar
7113fc7dee
Examples: Vulkan: Moved variables into per-window data, refactored/tweaks to that the bug functions main.cpp for both SDL and GLFW examples match (they'll probably be moved to imgui_impl_vulkan as helpers).
2018-03-02 21:37:14 +01:00
omar
e0f283cfcb
Examples: Vulkan: Fix 7b968b098e
2018-03-02 20:09:21 +01:00
omar
7b968b098e
Examples: Vulkan: Reduced duplicate code by skipping present on the first frame. Amend 201d589714
by @ParticlePeter
2018-03-02 20:01:18 +01:00
omar
e927a6ac4a
Examples: Vulkan: Various tweak. Misc refactor into per-frame data. Duplicate buffer creation code moved to CreateOrResizeBuffer().
2018-03-02 19:40:09 +01:00
omar
9da475e4e8
Examples: GLFW, Vulkan: GLFW binding viewport tweaks to supports Vulkan better (do not call SwapBuffer, share context etc.). Added DUMMY (empty) platform/viewport interface in the viewport code.
2018-03-02 19:24:24 +01:00
omar
5b282bdd48
Examples: Renamed glfw error callback so it's more clear what it is.
2018-03-02 19:24:23 +01:00
omar
fc80f2b41a
Merge branch 'examples_refactor' into viewport
...
# Conflicts:
# examples/directx10_example/main.cpp
# examples/directx11_example/main.cpp
# examples/directx12_example/main.cpp
# examples/opengl3_example/main.cpp
# examples/sdl_opengl2_example/main.cpp
# examples/sdl_opengl3_example/main.cpp
# examples/sdl_vulkan_example/main.cpp
# examples/vulkan_example/main.cpp
# imgui.h
2018-03-01 23:27:11 +01:00
omar
68e9ef9885
Examples: Vulkan: SDL: Fixed missing resize handler (not properly merged from #1367 ) + tweaks.
2018-03-01 23:22:02 +01:00
omar
296db2ed33
Examples: Vulkan: Moved code into shared helpers: ImGui_ImplVulkan_SelectSurfaceFormat, ImGui_ImplVulkan_SelectPresentMode.
2018-03-01 23:22:02 +01:00
omar
3171d61dfc
Examples: Vulkan: Various tweaks to name variable more consistently like Vulkan + a few comments + a few imgui style code compaction.
2018-03-01 23:22:01 +01:00
omar
57e9f61852
Examples: Vulkan: Debug report tweak + always enable in Debug build.
2018-03-01 18:59:07 +01:00
omar
cf365ed00b
Examples: Fixed enabling IMGUI_VULKAN_DEBUG_REPORT which was broken during refactor because of duplicate 'extensions' local variable.
2018-03-01 18:41:19 +01:00
omar
b37ef20c5c
Makefile: updated sdl_opengl3_example with all changes from #885 .
2018-03-01 15:54:12 +01:00
Sam Hocevar
124d8522b1
Do not store compiled objects outside the project tree.
2018-03-01 15:50:39 +01:00
Sam Hocevar
b6f251103b
Define SOURCES instead of OBJS in Makefiles.
...
OBJS is still deduced from SOURCES, but this change gives better control
over where the object files get actually written.
2018-03-01 15:46:43 +01:00
Sam Hocevar
d4f63c3844
Use make variables $@ and $^ where appropriate.
2018-03-01 15:45:34 +01:00
Sam Hocevar
551932697d
Ensure make clean
is idempotent.
...
Prior to this, `make clean` would fail if the project was not already
fully built, and a second invokation would always fail.
2018-03-01 15:45:23 +01:00
omar
d98a5d54aa
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 19:03:39 +01:00
omar
8074d56bdd
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 18:58:34 +01:00
omar
2c9f45bbe7
Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. ( #787 )
2018-02-28 18:51:40 +01:00
omar
fc3c3de70d
Examples: DX10: Multi viewport/platform support (based on DX11 version). ( #1542 )
2018-02-28 18:35:16 +01:00
omar
997d1bd0eb
Examples: NULL pointers for consistency.
2018-02-27 23:34:28 +01:00
omar
baef79415b
Examples: DX12: Empty skeleton toward implementing the multi-viewport api for DirectX12. (WIP/test API) ( #1542 , #301 )
2018-02-27 23:34:28 +01:00