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