From 6ef57bf7d6cd765c0d177a1663f650025e7e94fd Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sat, 3 Sep 2022 23:29:12 +1000 Subject: [PATCH] Build: Use in-tree imgui Snapshot was taken at commit 5b9d197b7d227f5173d6e43e83e04eb0c5e35d63 --- .gitmodules | 3 --- 3rdparty/imgui/CMakeLists.txt | 28 +++++++++++++++------------- 3rdparty/imgui/imgui | 1 - 3rdparty/imgui/imgui.vcxproj | 28 ++++++++++++++-------------- 3rdparty/imgui/imgui.vcxproj.filters | 26 +++++++++++++------------- 3rdparty/imgui/src/imgui_widgets.cpp | 6 ++++++ pcsx2/Frontend/ImGuiFullscreen.cpp | 2 +- pcsx2/pcsx2.vcxproj | 2 +- pcsx2/pcsx2core.vcxproj | 2 +- 9 files changed, 51 insertions(+), 47 deletions(-) delete mode 160000 3rdparty/imgui/imgui diff --git a/.gitmodules b/.gitmodules index f2698eb4f3..5581b407f2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -21,9 +21,6 @@ path = 3rdparty/rapidyaml/rapidyaml url = https://github.com/biojppm/rapidyaml.git branch = master -[submodule "3rdparty/imgui/imgui"] - path = 3rdparty/imgui/imgui - url = https://github.com/ocornut/imgui.git [submodule "3rdparty/glslang/glslang"] path = 3rdparty/glslang/glslang url = https://github.com/KhronosGroup/glslang.git diff --git a/3rdparty/imgui/CMakeLists.txt b/3rdparty/imgui/CMakeLists.txt index fe751ded0a..cb91058e51 100644 --- a/3rdparty/imgui/CMakeLists.txt +++ b/3rdparty/imgui/CMakeLists.txt @@ -1,19 +1,21 @@ add_library(imgui - imgui/imconfig.h - imgui/imgui.cpp - imgui/imgui.h - imgui/imgui_demo.cpp - imgui/imgui_draw.cpp - imgui/imgui_internal.h - imgui/imgui_tables.cpp - imgui/imgui_widgets.cpp - imgui/imstb_rectpack.h - imgui/imstb_textedit.h - imgui/imstb_truetype.h - imgui/misc/cpp/imgui_stdlib.cpp + include/imconfig.h + include/imgui.h + include/imgui_internal.h + include/imgui_stdlib.h + include/imstb_textedit.h + src/imgui.cpp + src/imgui_demo.cpp + src/imgui_draw.cpp + src/imgui_tables.cpp + src/imgui_widgets.cpp + src/imstb_rectpack.h + src/imstb_truetype.h + src/imgui_stdlib.cpp ) -target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/imgui" "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_include_directories(imgui PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src") # Needed for macOS compile. set_property(TARGET imgui PROPERTY CXX_STANDARD 17) diff --git a/3rdparty/imgui/imgui b/3rdparty/imgui/imgui deleted file mode 160000 index 60bea052a9..0000000000 --- a/3rdparty/imgui/imgui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 60bea052a92cbb4a93b221002fdf04f0da3698e1 diff --git a/3rdparty/imgui/imgui.vcxproj b/3rdparty/imgui/imgui.vcxproj index 9b32aabe95..93dae833e7 100644 --- a/3rdparty/imgui/imgui.vcxproj +++ b/3rdparty/imgui/imgui.vcxproj @@ -32,7 +32,7 @@ %(PreprocessorDefinitions) TurnOffAllWarnings - $(SolutionDir)3rdparty\glad\include;$(ProjectDir)imgui;$(ProjectDir)include;$(ProjectDir)src;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\glad\include;$(ProjectDir)include;$(ProjectDir)src;%(AdditionalIncludeDirectories) @@ -41,21 +41,21 @@ - - - - - - - + + + + + + + - - - - - - + + + + + + diff --git a/3rdparty/imgui/imgui.vcxproj.filters b/3rdparty/imgui/imgui.vcxproj.filters index b50def7037..7fc9569998 100644 --- a/3rdparty/imgui/imgui.vcxproj.filters +++ b/3rdparty/imgui/imgui.vcxproj.filters @@ -1,20 +1,20 @@  - - - - - - - + + + + + + + - - - - - - + + + + + + \ No newline at end of file diff --git a/3rdparty/imgui/src/imgui_widgets.cpp b/3rdparty/imgui/src/imgui_widgets.cpp index 9b59cfdece..f2ddda418d 100644 --- a/3rdparty/imgui/src/imgui_widgets.cpp +++ b/3rdparty/imgui/src/imgui_widgets.cpp @@ -4257,6 +4257,12 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ unsigned int c = (unsigned int)io.InputQueueCharacters[n]; if (c == '\t') // Skip Tab, see above. continue; + if (c == '\b') + { + state->OnKeyPressed(STB_TEXTEDIT_K_BACKSPACE); + continue; + } + if (InputTextFilterCharacter(&c, flags, callback, callback_user_data, ImGuiInputSource_Keyboard)) state->OnKeyPressed((int)c); } diff --git a/pcsx2/Frontend/ImGuiFullscreen.cpp b/pcsx2/Frontend/ImGuiFullscreen.cpp index 64c7f31eaf..c472417ca0 100644 --- a/pcsx2/Frontend/ImGuiFullscreen.cpp +++ b/pcsx2/Frontend/ImGuiFullscreen.cpp @@ -31,7 +31,7 @@ #include "fmt/core.h" #include "HostDisplay.h" #include "imgui_internal.h" -#include "misc/cpp/imgui_stdlib.h" +#include "imgui_stdlib.h" #include #include #include diff --git a/pcsx2/pcsx2.vcxproj b/pcsx2/pcsx2.vcxproj index f438652944..fc96f7e19a 100644 --- a/pcsx2/pcsx2.vcxproj +++ b/pcsx2/pcsx2.vcxproj @@ -42,7 +42,7 @@ $(SolutionDir)3rdparty\libpng;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\glad\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\cubeb\cubeb\include;$(SolutionDir)3rdparty\cubeb\include;%(AdditionalIncludeDirectories) - $(SolutionDir)3rdparty\imgui\imgui;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\imgui\include;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\libzip;$(SolutionDir)3rdparty\libzip\libzip\lib;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\d3d12memalloc\include;%(AdditionalIncludeDirectories) %(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zstd\zstd\lib diff --git a/pcsx2/pcsx2core.vcxproj b/pcsx2/pcsx2core.vcxproj index 310a2df6c4..434ec19457 100644 --- a/pcsx2/pcsx2core.vcxproj +++ b/pcsx2/pcsx2core.vcxproj @@ -42,7 +42,7 @@ $(SolutionDir)3rdparty\libpng;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\glad\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\cubeb\cubeb\include;$(SolutionDir)3rdparty\cubeb\include;%(AdditionalIncludeDirectories) - $(SolutionDir)3rdparty\imgui\imgui;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories) + $(SolutionDir)3rdparty\imgui\include;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\simpleini\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\sdl2\include;$(SolutionDir)3rdparty\sdl2\SDL\include;%(AdditionalIncludeDirectories) $(SolutionDir)3rdparty\libzip;$(SolutionDir)3rdparty\libzip\libzip\lib;%(AdditionalIncludeDirectories)