From 75a65f6fb040f02a1fea6527dadfa7601038c859 Mon Sep 17 00:00:00 2001 From: Rokas Kupstys Date: Mon, 16 Mar 2020 10:04:36 +0200 Subject: [PATCH] CI: Test build with large indices, obsolete functions disabled and demo/metrics windows disabled. + amend notes --- .github/workflows/build.yml | 25 +++++++++++++++++++++++++ docs/CHANGELOG.txt | 3 +++ docs/TODO.txt | 4 ++-- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 16ab157d..7718196e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -203,6 +203,31 @@ jobs: echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp + - name: Build example_null (with large ImDrawIdx) + run: | + echo '#define ImDrawIdx unsigned int' > example_single_file.cpp + echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp + echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp + echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp + g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp + + - name: Build example_null (with IMGUI_DISABLE_OBSOLETE_FUNCTIONS) + run: | + echo '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' > example_single_file.cpp + echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp + echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp + echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp + g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp + + - name: Build example_null (with IMGUI_DISABLE_DEMO_WINDOWS and IMGUI_DISABLE_METRICS_WINDOW) + run: | + echo '#define IMGUI_DISABLE_DEMO_WINDOWS' > example_single_file.cpp + echo '#define IMGUI_DISABLE_METRICS_WINDOW' >> example_single_file.cpp + echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp + echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp + echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp + g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp + - name: Build example_glfw_opengl2 run: make -C examples/example_glfw_opengl2 diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index b41a1800..f37c6883 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -58,6 +58,9 @@ Other Changes: window also manipulate the ItemFlags stack. (#3024) [@Stanbroek] - Font: Fixed non-ASCII space occasionally creating unnecessary empty polygons. - Demo: Added black and white and color gradients to Demo>Examples>Custom Rendering. +- CI: Added more tests on the continuous-integration server: extra warnings for Clang/GCC, building + SDL+Metal example, and more compile-time imconfig.h settings: disabling obsolete functions, + enabling 32-bit draw indices, enabling 32-bit ImWchar, disabling demo/metrics, etc. [@rokups] - Backends: Win32: Added ImGui_ImplWin32_EnableDpiAwareness(), ImGui_ImplWin32_GetDpiScaleForHwnd(), ImGui_ImplWin32_GetDpiScaleForMonitor() helpers functions (backported from the docking branch). Those functions makes it easier for example apps to support hi-dpi features without setting up diff --git a/docs/TODO.txt b/docs/TODO.txt index 9ba3a984..8d50dbe2 100644 --- a/docs/TODO.txt +++ b/docs/TODO.txt @@ -14,8 +14,6 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i - window: calling SetNextWindowSize() every frame with <= 0 doesn't do anything, may be useful to allow (particularly when used for a single axis). (#690) - window: add a way for very transient windows (non-saved, temporary overlay over hundreds of objects) to "clean" up from the global window list. perhaps a lightweight explicit cleanup pass. - window: auto-fit feedback loop when user relies on any dynamic layout (window width multiplier, column) appears weird to end-user. clarify. - - window: allow resizing of child windows (possibly given min/max for each axis?.) - - window: background options for child windows, border option (disable rounding). - window: begin with *p_open == false could return false. - window: get size/pos helpers given names (see discussion in #249) - window: a collapsed window can be stuck behind the main menu bar? @@ -31,6 +29,8 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i - window: the size_on_first_use path of Begin() can probably be removed - window/size: manually triggered auto-fit (double-click on grip) shouldn't resize window down to viewport size? - window/opt: freeze window flag: if not focused/hovered, return false, render with previous ImDrawList. and/or reduce refresh rate. -> this may require enforcing that it is illegal to submit contents if Begin returns false. + - window/child: background options for child windows, border option (disable rounding). + - window/child: allow resizing of child windows (possibly given min/max for each axis?.) - window/child: the first draw command of a child window could be moved into the current draw command of the parent window (unless child+tooltip?). - window/child: border could be emitted in parent as well. - window/child: allow SetNextWindowContentSize() to work on child windows.