95 Commits (f5d185238c38de5df131df6edca5dd2bc556841b)

Author SHA1 Message Date
omar 5d630c930d Viewport: DestroyPlatformWindows() checks for the bool CreatedPlatformWindow flag correctly. Note that we set CreatedPlatformWindow=true for the main viewport to allow the back-end to store data in the public Viewport structure (for consistency). (#1542) ago%!(EXTRA string=7 years)
omar ff83d0e369 Examples: Using fully qualified "Dear ImGui" name in window titles. ago%!(EXTRA string=7 years)
omar 73e13a0762 Examples: Tweaked the main.cpp example structure for all examples. (There are a few hidden agendas here: 1) I would like to avoid encouraging people from using the implicit "Debug" window, and promote using Begin/End. In spite of my best attempt, there are a few feature of the upcoming docking system that cannot work 100% properly for the implicit Debug window, so future proof let's not put that feature in the spotlight too much for new users. 2) Moved dumb hardcoded positions into a single spot that can be replaced with a viewport relative position and not affect other demo windows. 3) Calling ShowDemoWindow before anything else, also for the benefit of a specific docking demo which will have an ordering constraint which is not really problematic in a real app but shouldn't be put forward in the demo. ago%!(EXTRA string=7 years)
omar 8d58fbb5ed Examples: Renamed example folders. (#1870) ago%!(EXTRA string=7 years)
omar 85f9694bd4 Big example binding refactor (manually imported from Viewport branch, stripped out of Viewport code). (#1870) ago%!(EXTRA string=7 years)
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 77d51ebf24 Examples: Added .. folder in include path to remove the awkward #include "../imgui_impl_xxx.h" statements. ago%!(EXTRA string=7 years)
omar eb1c36fdfb Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (#1695, #1769) 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 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. ago%!(EXTRA string=7 years)
omar 637d9c42bf Viewport: WIP for Tooltips, Popups, Menus to create their own viewport. Resizing a window allows it to leave the main viewport. (#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 660c157880 Examples: Added missing calls for ::DestroyWindow, glfwDestroyWindow() + fix old comments. ago%!(EXTRA string=7 years)
omar 9d8bc79025 Viewport: Renamed RenderPlatformWindows() to RenderPlatformWindowsDefault(), tweaked examples and emphasis optional Viewport code path. (#1542) 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 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 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 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 9dcc07422e Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. (#1542) 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 d98a5d54aa Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) ago%!(EXTRA string=7 years)
omar 8074d56bdd Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) ago%!(EXTRA string=7 years)
omar 2c9f45bbe7 Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) ago%!(EXTRA string=7 years)
omar 25349b31d7 Examples: DX11 + Win32: Initial attempt at implementing the viewport/platform api. (WIP/test API) (#1542) ago%!(EXTRA string=7 years)
omar f43068c543 Examples: DirectX10, DirectX11: Simplified main example code. ago%!(EXTRA string=7 years)
omar 7e2e0535dd Examples: DirectX 9,10,11: Inputs: Added support for mouse cursors (ImGui::GetMouseCursor() value and WM_SETCURSOR message handling). (#1495) ago%!(EXTRA string=7 years)
omar 19540479d4 Examples: DirectX11: Extracted imgui_impl_dx11.* instead imgui_impl_dx11 and imgui_impl_win32 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 ae30efc0fd Nav: Examples: Added commented out io.NavFlags |= ImGuiNavFlags_EnableKeyboard to all examples. (#787) ago%!(EXTRA string=7 years)
omar cd3dd886de Moved extra_fonts/ to misc/fonts/. Moved .natvis file to misc/natvis/ (#1569) ago%!(EXTRA string=7 years)
omar cca9c3e3da Examples: Using Dark theme by default. (#707). Tweaked demo code. ago%!(EXTRA string=7 years)
omar 955d86199f Examples: Tweaks formatting. 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 3967ff58b2 Nav: Examples: DirectX11, Glfw+GL3: Basic code to map keyboard inputs when io.NavFlags & ImGuiNavFlags_EnableKeyboard is set. (will iterate/tweak before spreading to other examples). (#787) 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 78f48bb795 Examples: DirectX10,DirectX11: Moved call to OMSetRenderTargets() in main loop so example code can integrate more nicely with other code. ago%!(EXTRA string=7 years)
omar ce13426a1a Examples: Comments, synched some minor drift between examples + stronger suggestion to use StyleColorsDark(). ago%!(EXTRA string=7 years)
omar 1b86e7343f Renamed the emblematic ShowTestWindow() function to ShowDemoWindow(). Kept redirection function (will obsolete). ago%!(EXTRA string=7 years)
omar fba704bf5d Examples: Added a bunch of comments/referencs related to io.WantCaptureMouse, io.WantCaptureKeyboard (#1262, #1237, #1219, #635, #1058, #1051, #912, #533, #703, #446, #459, #364, #213, #52, and more) ago%!(EXTRA string=8 years)
omar cb38caeda4 Examples: Added more comments near the fonts loading section, to catch common questions and errors (e.g. #1397, #1366, #1341, #1222, #1193, #1115, #951, etc.) ago%!(EXTRA string=8 years)
omar c14a66970b Examples: DirectX9/10/11: Renamed WndProc handler to use a generic Win32 name + returning 0 to all messages is more correct. ago%!(EXTRA string=8 years)
omar b3099d650c Examples: Adding Roboto to the commented-out font list, and removing the unnecessary ProggyClean from there. ago%!(EXTRA string=8 years)
omar 842e88a8e3 Examples: Avoid using ImColor() to not tempt newcomers into looking at it ago%!(EXTRA string=8 years)
omar 3dd3d0b248 Examples: DirectX11: allow creating device with feature level 10 sinec we don't really need much for that example. (#1333) ago%!(EXTRA string=8 years)
omar b8ade0b94f Examples: Main: Removed call to SetNextWindowSize() ago%!(EXTRA string=8 years)
omar 7e452ec737 Renamed ImGuiSetCond_XXX type and enums to ImGuiCond_XXX, kept old enums under #ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS ago%!(EXTRA string=8 years)
omar 645875a240 Examples: Enable vsync by default in example applications (#1213, #1151) ago%!(EXTRA string=8 years)