40 Commits (06aa9d8d9a0e4724b3b79ee1154a41f38a197387)

Author SHA1 Message Date
omar 8c374512fd Examples, Platform: Removed the call to ImGui::NewFrame() from the platform _NewFrame() function e.g. ImGui_ImplWin32_NewFrame(), ImGui_ImplSDL2_NewFrame(), ImGui_ImplGlfw_NewFrame(), etc. Moved to main.cpp for consistency. (#1542) ago%!(EXTRA string=7 years)
omar 090eb437ed Viewport, Platform: Cleaned up xxx_UpdateMouseCursor() functions to make them more consistent. (#1542) ago%!(EXTRA string=7 years)
omar d574604a5d Viewport, Platform: Win32: Fixed handling of io.WantSetMousePos + added a bunch of comments. GLFW, SDL2: Added handling of io.WantSetMousePos. (#1542) ago%!(EXTRA string=7 years)
omar 6eacddb50f Viewport: Changed Monitor field to use Pos+Size (more consistent), changed FullMin,FullMax to MainPos,MainSize. Made main viewport accessible in PlatformIO on first frame. Fixed casing of ImGuiViewportFlags_TopMost flag. (#1542) ago%!(EXTRA string=7 years)
omar cd51f37fc0 Viewport, Platform: Refresh monitor list (win32, glfw) + avoid calling GetWindowFocus before platform window creation to not require of backend to null-check things inconsistently. (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar e3e4b7bdf5 Viewport: Fixed mouse hover flicker on mouse button release frame after moving a window. (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 4433ce4312 Viewport, Platform: Added work area in ImGuiPlatformMonitor. Renamed fields. (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 950539b768 Viewport, Platform, DPI: Back-end store per-monitor DPI information in ImGuiPlatformMonitor. (#1542, #1676) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 83bd3595a4 Viewport: Merged ImGuiPlatformData into ImGuiPlatformIO. Comments. (#1542) ago%!(EXTRA string=7 years)
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) ago%!(EXTRA string=7 years)
omar 7ddc22b326 Viewports, DPI: Renamed config flags. (#1542) ago%!(EXTRA string=7 years)
omar 0d5042f0f3 Viewport: Popups, Tooltips can individually request no task bar icons to the platform layer. (#1542) ago%!(EXTRA string=7 years)
omar d4dd448511 Examples, Platform, Viewport: Fixed inconsistent window ownership issues. Added comments. Made Win32/SDL back-ends track ownership. ago%!(EXTRA string=7 years)
omar 2fecd332fc Viewport, Platform: Added void* to render/swap buffer functions. Comments. (#1542, #1042) ago%!(EXTRA string=7 years)
omar 0e09032750 Viewport, Examples: Renamed types used by examples. (#1542) ago%!(EXTRA string=7 years)
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 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 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 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 cb601d79e8 Examples: SDL: Initial attempt at implementing the viewport/platform api. (WIP/test API) (#1542) ago%!(EXTRA string=7 years)
omar 29510fcb83 Examples: Misc tweaks/fixes. ago%!(EXTRA string=7 years)
omar f7ef10e547 Examples: Titles/comments in headers ago%!(EXTRA string=7 years)
omar e660d92fa5 Examples: GLFW: Added mouse cursors support (#1495) ago%!(EXTRA string=7 years)
omar ef521d1e0b Examples: SDL: Extracted into imgui_impl_sdl.*, reused imgui_impl_opengl* files. ago%!(EXTRA string=7 years)
omar 03a44acf6f Examples: SDL: Minor stylistic tweaks. Fixed handling of ImGuiMouseCursor_None so it doesn't underflow array. Fixed harmless uninitialized pointer. (#1626) ago%!(EXTRA string=7 years)
omar 7c75835200 Renamed misleading ImGuiMouseCursor_Move to ImGuiMouseCursor_ResizeAll. SDL: Fixed cursor. (#1626) ago%!(EXTRA string=7 years)
Oliver Faircliff ffb6e89f30 Use SDL system cursors in SDL examples. (#1626) ago%!(EXTRA string=7 years)
omar 63332d152a Obsoleted the io.RenderDrawListsFn callback, you can call your graphics engine render function after ImGui::Render(). Use ImGui::GetDrawData() to retrieve the ImDrawData* to display..(#1599) ago%!(EXTRA string=7 years)
omar 0cefd40888 Examples: Added Changelog to make updates easier. ago%!(EXTRA string=7 years)
omar 41ecebff5a Examples: SDL: Added Changelog at the top of the imgui_impl files. (#1618) ago%!(EXTRA string=7 years)
omar 057807f4a7 Added ImGuiKey_Space, mapped in every examples. Will be required for navigation. (#787) ago%!(EXTRA string=7 years)
omar fcf1c9d151 Examples: SDL: Using SDL_GetPerformanceCounter() / SDL_GetPerformanceFrequency() to handle framerate over 1000 fps properly. Noticed bad inputs artefacts in Nav branch at 2000 fps without this. (#996) ago%!(EXTRA string=7 years)
omar 60fb7d31fd Examples: SDL2: Enabling vsync. Using scancode consistently, fixed keyboard weirdness. ago%!(EXTRA string=7 years)
omar 73d493c780 Examples: Organized header files to make available features more visible. ago%!(EXTRA string=7 years)
omar 6a25a8720a Examples: Using #include "imgui.h" instead of <imgui.h> appear correct-er as per standard? xcode+clang are very nitpicky there. ago%!(EXTRA string=7 years)
omar d3e826c247 Examples: Updated for reorganized context functions. Calling CreateContext(), DestroyContext() in example code. Removed Shutdown() from binding code. (#1565, #586, #992, #1007, #1558) ago%!(EXTRA string=7 years)
omar 7e7c017b75 Examples: Simplified mouse wheel handling. (#1463) ago%!(EXTRA string=7 years)
omar 0b1fecb792 Horizontal mouse wheel: renamed io.MouseHorizWheel to io.MouseWheelH. Reorganized the code in NewFrame(). Examples: Updated GLFW+GL and SDL+GL accordingly. (#1463) ago%!(EXTRA string=7 years)
omar f3e510a9bf Examples: SDL: Using SDL_CaptureMouse() to retrieve coordinates outside of client area when dragging. (#1559) ago%!(EXTRA string=7 years)