29 Commits (456bbffcc4d42349693d88f76ba447ac44273dc1)

Author SHA1 Message Date
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)
omar 00351ee2ab Examples: SDL: Minor renaming. ago%!(EXTRA string=7 years)
omar 79dca9d5e6 Examples: SDL+GL2: Renamed imgui_impl_sdl.* to imgui_impl_sdl_gl2.* for consistency and to emphasis on GL2-ness. ago%!(EXTRA string=7 years)
omar 15fd5b6c4c Examples: SDL: Minor renaming. ago%!(EXTRA string=7 years)
omar ce17e0f274 Examples: SDL: Using SDL_WINDOW_INPUT_FOCUS instead of SDL_WINDOW_MOUSE_FOCUS (which is ~~hovered). We should use SDL_CaptureMouse + SDL_WINDOW_MOUSE_CAPTURE_FLAG which requires SDL 2.0.4 will give it a try shortly. (#1559) ago%!(EXTRA string=7 years)
omar 60d5dc7902 Examples: SDL: Fixed mapping of Insert key (#1555, fix bug introduced in #1541) ago%!(EXTRA string=7 years)
omar ce95b84825 Added ImGuiKey_Insert for future use. Setup in all example bindings. (#1541) ago%!(EXTRA string=7 years)
omar 407955d9fb Examples: Using IM_OFFSETOF macro. + Comments ago%!(EXTRA string=7 years)
omar 9f8632b131 Examples: Comments about invalid mouse pos. ago%!(EXTRA string=7 years)
Emmanuel Benoît 77a310736d Horizontal mouse wheel support ago%!(EXTRA string=8 years)
omar ef5dd30625 Sisyphus says: tweaked comments about not using old-style OpenGL examples (#1459, #1394 etc.) ago%!(EXTRA string=8 years)