847 Commits (7b3433c68b0e7ca341802b13ca23bb2445d31adc)

Author SHA1 Message Date
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) ago%!(EXTRA string=7 years)
omar 1ab236d9df Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 8364d1ca6c Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. (#1542, #1042) ago%!(EXTRA string=7 years)
omar 09d8943967 Examples Refactor: GLFW: Explicit functions to init GLFW with OpenGL or Vulkan since we cannot read the api hints from glfw. ago%!(EXTRA string=7 years)
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) .. ago%!(EXTRA string=7 years)
omar 83ef61fa56 Examples: SDL: Fix for versions olders than 2.0.6 ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 98b66a5fc9 Examples: Using draw_data->DisplaySize, followup to c50198debe. Fix Vulkan secondary viewport rendering. SDL+Vulkan: Matched changes. Fix vcprojs. (#1542, #1042) ago%!(EXTRA string=7 years)
omar c50198debe Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize (#1542) wip ago%!(EXTRA string=7 years)
omar b88492746e Examples, Viewport: Vulkan: Experiment (broken) multi-viewport support, merging code from ParticlePeter branches. (#1542, #1042) ago%!(EXTRA string=7 years)
omar cdeef65b05 Examples: Vulkan: Passing Queue, QueueFamily to binding. Fixed scissor (fixed in master). ImGui_ImplVulkanH_DestroyWindowData() waits for device to be idle. (#1042) ago%!(EXTRA string=7 years)
omar 1e81a53e75 Examples: DPI: Minor warning fix. (#1676) ago%!(EXTRA string=7 years)
omar 37cb177745 Examples: Vulkan: Only resize swap chain and framebuffer once. (#1042) ago%!(EXTRA string=7 years)
omar 1c18d65313 Examples: Renamed glfw error callback for clarity. ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 1eb89d7e3b Viewport: Changed signature of ResizeViewport to be consistent with other similar functions. ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar aa3fe81c87 Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit. ago%!(EXTRA string=7 years)
omar 9ea16e344a Viewport: Disable extra viewports from hosting other windows. (#1542) ago%!(EXTRA string=7 years)
omar d8719cf59b Fixed warnings. ago%!(EXTRA string=7 years)
omar 9dcc07422e Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. (#1542) ago%!(EXTRA string=7 years)
omar 52c78820aa Examples: SDL: Fix for pre 2.0.4. ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar f318f2d5ea Examples: Added Makefile for SDL+OpenGL2 example. (#1668) ago%!(EXTRA string=7 years)
omar 7fd62baa42 Examples: Added Makefile for SDL+OpenGL2 example. (#1668) ago%!(EXTRA string=7 years)
omar a2ed3ee2cf Examples: OpenGL3: Added a way to override the glsl version number through the Init call. (#1667, #1466) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar cab41d954e Examples: Vulkan: Further refactor. ago%!(EXTRA string=7 years)
omar 69e700f869 Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added ago%!(EXTRA string=7 years)
omar e0cbfd74d7 Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar e9fa17e1bf Viewport: Replaced UpdatePlatformWindows/RenderPlatformWindows by RenderAdditionalViewports(). The update is always called in EndFrame(). (#1542) ago%!(EXTRA string=7 years)
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). ago%!(EXTRA string=7 years)
omar e0f283cfcb Examples: Vulkan: Fix 7b968b098e ago%!(EXTRA string=7 years)
omar 7b968b098e Examples: Vulkan: Reduced duplicate code by skipping present on the first frame. Amend 201d589714 by @ParticlePeter ago%!(EXTRA string=7 years)
omar e927a6ac4a Examples: Vulkan: Various tweak. Misc refactor into per-frame data. Duplicate buffer creation code moved to CreateOrResizeBuffer(). ago%!(EXTRA string=7 years)
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. ago%!(EXTRA string=7 years)
omar 5b282bdd48 Examples: Renamed glfw error callback so it's more clear what it is. ago%!(EXTRA string=7 years)
omar 68e9ef9885 Examples: Vulkan: SDL: Fixed missing resize handler (not properly merged from #1367) + tweaks. ago%!(EXTRA string=7 years)
omar 296db2ed33 Examples: Vulkan: Moved code into shared helpers: ImGui_ImplVulkan_SelectSurfaceFormat, ImGui_ImplVulkan_SelectPresentMode. ago%!(EXTRA string=7 years)
omar 3171d61dfc Examples: Vulkan: Various tweaks to name variable more consistently like Vulkan + a few comments + a few imgui style code compaction. ago%!(EXTRA string=7 years)
omar 57e9f61852 Examples: Vulkan: Debug report tweak + always enable in Debug build. ago%!(EXTRA string=7 years)
omar cf365ed00b Examples: Fixed enabling IMGUI_VULKAN_DEBUG_REPORT which was broken during refactor because of duplicate 'extensions' local variable. ago%!(EXTRA string=7 years)
omar b37ef20c5c Makefile: updated sdl_opengl3_example with all changes from #885. ago%!(EXTRA string=7 years)
Sam Hocevar 124d8522b1 Do not store compiled objects outside the project tree. ago%!(EXTRA string=7 years)
Sam Hocevar b6f251103b Define SOURCES instead of OBJS in Makefiles. ago%!(EXTRA string=7 years)
Sam Hocevar d4f63c3844 Use make variables $@ and $^ where appropriate. ago%!(EXTRA string=7 years)