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
7 years ago
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 )
7 years ago
omar
e3e4b7bdf5
Viewport: Fixed mouse hover flicker on mouse button release frame after moving a window. ( #1542 )
...
Platform: Clarifying some comments in back-ends.
7 years ago
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.
7 years ago
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 )
7 years ago
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.
7 years ago
omar
423577e14e
Viewport, Platforms: SDL: Fixed initial focus click being ignored as a mouse button. GLFW: Fixed mouse cursor support for multi-viewport with GLFW 3.3 (current master) - somehow doesn't appear to work with GLFW 3.2 but I'm not too fussed about it. ( #1542 )
7 years ago
omar
4433ce4312
Viewport, Platform: Added work area in ImGuiPlatformMonitor. Renamed fields. ( #1542 )
7 years ago
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 )
7 years ago
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.
7 years ago
omar
637d9c42bf
Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. ( #1542 )
7 years ago
omar
bcac02809f
Examples: Allegro 5: Renamed bindings from imgui_impl_a5.cpp to imgui_impl_allegro5.cpp.
7 years ago
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).
7 years ago
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
7 years ago
daniel-murray
83d97d4a9b
Fix typos KeyDown => KeysDown
7 years ago
omar
950539b768
Viewport, Platform, DPI: Back-end store per-monitor DPI information in ImGuiPlatformMonitor. ( #1542 , #1676 )
7 years ago
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 )
7 years ago
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 )
7 years ago
omar
83bd3595a4
Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. ( #1542 )
7 years ago
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 )
7 years ago
omar
7ddc22b326
Viewports, DPI: Renamed config flags. ( #1542 )
7 years ago
omar
0d5042f0f3
Viewport: Popups, Tooltips can individually request no task bar icons to the platform layer. ( #1542 )
7 years ago
omar
d4dd448511
Examples, Platform, Viewport: Fixed inconsistent window ownership issues. Added comments. Made Win32/SDL back-ends track ownership.
7 years ago
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
7 years ago
omar
660c157880
Examples: Added missing calls for ::DestroyWindow, glfwDestroyWindow() + fix old comments.
7 years ago
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
7 years ago
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
7 years ago
omar
72b7f48870
Renamed ImGuiConfigFlags_NoSetMouseCursor to ImGuiConfigFlags_NoMouseCursorChange. Followup to 75c3793db5
two weeks ago. ( #787 , #1495 , #1202 ) + comments
7 years ago
omar
72899318e6
Viewport, Platform, Examples: Added support for transparent window via PlatformIO Platform_SetWindowAlpha ( #1542 ) + fixes for GLFW 3.3
7 years ago
omar
84c6ea0cee
Viewport: Comments about honoring ImGuiViewportFlags_NoInputs and MouseHoveredViewport. ( #1542 )
7 years ago
omar
9d8bc79025
Viewport: Renamed RenderPlatformWindows() to RenderPlatformWindowsDefault(), tweaked examples and emphasis optional Viewport code path. ( #1542 )
7 years ago
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
7 years ago
omar
664ab85f76
Examples: Tweak comments. ( #1704 , #1708 ).
7 years ago
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 )
7 years ago
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).
7 years ago
omar
200754b013
Examples: GLFW: Don't alter cursor mode if GLFW_CURSOR input mode is GLFW_CURSOR_DISABLED. ( #1202 ) [@PhilCK]
7 years ago
omar
94116f1143
Examples: GLFW: Don't alter cursor mode if GLFW_CURSOR input mode is GLFW_CURSOR_DISABLED. ( #1202 ) [@PhilCK]
7 years ago
omar
42ad3c1dd3
Examples: OpenGL2: Added multi-viewport support in the OpenGL2 back-end. ( #1542 ) + Metrics: Fix undisplayed flag.
7 years ago
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
7 years ago
omar
75c3793db5
IO: Added ImGuiConfigFlags_NoSetMouseCursors. Added ImGuiBackendFlags_HasMouseCursors, ImGuiBackendFlags_HasSetMousePos. ( #787 , #1495 , #1202 )
7 years ago
omar
dcf7c3d188
Added ImGuiBackendFlags for backend to expose its capabilities. Added ImGuiBackendFlags_HasGamepad. ( #787 , #1542 )
7 years ago
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 )
7 years ago
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
7 years ago
omar
74b7dce394
Examples: Renamed applications to emphasis on use of GLFW as a platform framework + minor local tweaks
7 years ago
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.
7 years ago
omar
a73f6d06e0
Examples: Vulkan: Using VK_PRESENT_MODE_MAILBOX_KHR. Disable IMGUI_UNLIMITED_FRAME_RATE by default. Fixed warnings. ( #1042 )
7 years ago
omar
2fecd332fc
Viewport, Platform: Added void* to render/swap buffer functions. Comments. ( #1542 , #1042 )
7 years ago
omar
0e09032750
Viewport, Examples: Renamed types used by examples. ( #1542 )
7 years ago
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 )
7 years ago
omar
1ab236d9df
Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). ( #1542 )
7 years ago
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 )
7 years ago
omar
8364d1ca6c
Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. ( #1542 , #1042 )
7 years ago
omar
09d8943967
Examples Refactor: GLFW: Explicit functions to init GLFW with OpenGL or Vulkan since we cannot read the api hints from glfw.
7 years ago
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.
7 years ago
omar
83ef61fa56
Examples: SDL: Fix for versions olders than 2.0.6
7 years ago
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 )
7 years ago
omar
98b66a5fc9
Examples: Using draw_data->DisplaySize, followup to c50198debe
. Fix Vulkan secondary viewport rendering. SDL+Vulkan: Matched changes. Fix vcprojs. ( #1542 , #1042 )
7 years ago
omar
c50198debe
Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize ( #1542 ) wip
7 years ago
omar
b88492746e
Examples, Viewport: Vulkan: Experiment (broken) multi-viewport support, merging code from ParticlePeter branches. ( #1542 , #1042 )
7 years ago
omar
f6fc28dfd2
Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042 )
7 years ago
omar
cdeef65b05
Examples: Vulkan: Passing Queue, QueueFamily to binding. Fixed scissor (fixed in master). ImGui_ImplVulkanH_DestroyWindowData() waits for device to be idle. ( #1042 )
7 years ago
omar
1e81a53e75
Examples: DPI: Minor warning fix. ( #1676 )
7 years ago
omar
37cb177745
Examples: Vulkan: Only resize swap chain and framebuffer once. ( #1042 )
7 years ago
omar
1c18d65313
Examples: Renamed glfw error callback for clarity.
7 years ago
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.
7 years ago
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 )
7 years ago
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 )
7 years ago
omar
1eb89d7e3b
Viewport: Changed signature of ResizeViewport to be consistent with other similar functions.
7 years ago
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 )
7 years ago
omar
aa3fe81c87
Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit.
7 years ago
omar
9ea16e344a
Viewport: Disable extra viewports from hosting other windows. ( #1542 )
7 years ago
omar
d8719cf59b
Fixed warnings.
7 years ago
omar
9dcc07422e
Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. ( #1542 )
7 years ago
omar
52c78820aa
Examples: SDL: Fix for pre 2.0.4.
7 years ago
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.
7 years ago
omar
f318f2d5ea
Examples: Added Makefile for SDL+OpenGL2 example. ( #1668 )
7 years ago
omar
7fd62baa42
Examples: Added Makefile for SDL+OpenGL2 example. ( #1668 )
7 years ago
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
7 years ago
omar
a2ed3ee2cf
Examples: OpenGL3: Added a way to override the glsl version number through the Init call. ( #1667 , #1466 )
7 years ago
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
7 years ago
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 )
7 years ago
omar
cab41d954e
Examples: Vulkan: Further refactor.
7 years ago
omar
69e700f869
Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added
7 years ago
omar
e0cbfd74d7
Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h
7 years ago
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.
7 years ago
omar
e9fa17e1bf
Viewport: Replaced UpdatePlatformWindows/RenderPlatformWindows by RenderAdditionalViewports(). The update is always called in EndFrame(). ( #1542 )
7 years ago
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).
7 years ago
omar
e0f283cfcb
Examples: Vulkan: Fix 7b968b098e
7 years ago
omar
7b968b098e
Examples: Vulkan: Reduced duplicate code by skipping present on the first frame. Amend 201d589714
by @ParticlePeter
7 years ago
omar
e927a6ac4a
Examples: Vulkan: Various tweak. Misc refactor into per-frame data. Duplicate buffer creation code moved to CreateOrResizeBuffer().
7 years ago
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.
7 years ago
omar
5b282bdd48
Examples: Renamed glfw error callback so it's more clear what it is.
7 years ago
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
7 years ago
omar
68e9ef9885
Examples: Vulkan: SDL: Fixed missing resize handler (not properly merged from #1367 ) + tweaks.
7 years ago
omar
296db2ed33
Examples: Vulkan: Moved code into shared helpers: ImGui_ImplVulkan_SelectSurfaceFormat, ImGui_ImplVulkan_SelectPresentMode.
7 years ago
omar
3171d61dfc
Examples: Vulkan: Various tweaks to name variable more consistently like Vulkan + a few comments + a few imgui style code compaction.
7 years ago
omar
57e9f61852
Examples: Vulkan: Debug report tweak + always enable in Debug build.
7 years ago
omar
cf365ed00b
Examples: Fixed enabling IMGUI_VULKAN_DEBUG_REPORT which was broken during refactor because of duplicate 'extensions' local variable.
7 years ago
omar
b37ef20c5c
Makefile: updated sdl_opengl3_example with all changes from #885 .
7 years ago
Sam Hocevar
124d8522b1
Do not store compiled objects outside the project tree.
7 years ago