From 8301bd8d4cd98df3bbefcdafc411f2e03081a965 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 22 Oct 2019 21:37:03 +0100 Subject: [PATCH] external: Refactor out sdl functions from main cimguo.cpp --- src/external/imgui/cimgui.cpp | 28 ---------------------- src/external/imgui/cimgui_sdl.cpp | 34 +++++++++++++++++++++++++++ src/xrt/targets/gui/CMakeLists.txt | 1 + src/xrt/targets/gui/meson.build | 1 + src/xrt/targets/openxr/CMakeLists.txt | 1 + src/xrt/targets/openxr/meson.build | 1 + 6 files changed, 38 insertions(+), 28 deletions(-) create mode 100644 src/external/imgui/cimgui_sdl.cpp diff --git a/src/external/imgui/cimgui.cpp b/src/external/imgui/cimgui.cpp index bc186f656..6616d62c1 100644 --- a/src/external/imgui/cimgui.cpp +++ b/src/external/imgui/cimgui.cpp @@ -4515,34 +4515,6 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p) /////////////////////////extra Monado functions -#include "imgui_impl_sdl.h" -CIMGUI_API bool igImGui_ImplSDL2_InitForOpenGL(SDL_Window* window, void* sdl_gl_context) -{ - return ImGui_ImplSDL2_InitForOpenGL(window, sdl_gl_context); -} -#if 0 -CIMGUI_API bool igImGui_ImplSDL2_InitForVulkan(SDL_Window* window) -{ - return ImGui_ImplSDL2_InitForVulkan(window); -} -CIMGUI_API bool igImGui_ImplSDL2_InitForD3D(SDL_Window* window) -{ - return ImGui_ImplSDL2_InitForD3D(window); -} -#endif -CIMGUI_API void igImGui_ImplSDL2_Shutdown() -{ - ImGui_ImplSDL2_Shutdown(); -} -CIMGUI_API void igImGui_ImplSDL2_NewFrame(SDL_Window* window) -{ - ImGui_ImplSDL2_NewFrame(window); -} -CIMGUI_API bool igImGui_ImplSDL2_ProcessEvent(const SDL_Event* event) -{ - return ImGui_ImplSDL2_ProcessEvent(event); -} - #include "imgui_impl_opengl3.h" CIMGUI_API bool igImGui_ImplOpenGL3_Init(const char* glsl_version) { diff --git a/src/external/imgui/cimgui_sdl.cpp b/src/external/imgui/cimgui_sdl.cpp new file mode 100644 index 000000000..96aeb9f69 --- /dev/null +++ b/src/external/imgui/cimgui_sdl.cpp @@ -0,0 +1,34 @@ +#include "./imgui/imgui.h" +#include "cimgui.h" + +#include "./imgui/imgui_internal.h" + +#include "imgui_impl_sdl.h" + + +CIMGUI_API bool igImGui_ImplSDL2_InitForOpenGL(SDL_Window* window, void* sdl_gl_context) +{ + return ImGui_ImplSDL2_InitForOpenGL(window, sdl_gl_context); +} +#if 0 +CIMGUI_API bool igImGui_ImplSDL2_InitForVulkan(SDL_Window* window) +{ + return ImGui_ImplSDL2_InitForVulkan(window); +} +CIMGUI_API bool igImGui_ImplSDL2_InitForD3D(SDL_Window* window) +{ + return ImGui_ImplSDL2_InitForD3D(window); +} +#endif +CIMGUI_API void igImGui_ImplSDL2_Shutdown() +{ + ImGui_ImplSDL2_Shutdown(); +} +CIMGUI_API void igImGui_ImplSDL2_NewFrame(SDL_Window* window) +{ + ImGui_ImplSDL2_NewFrame(window); +} +CIMGUI_API bool igImGui_ImplSDL2_ProcessEvent(const SDL_Event* event) +{ + return ImGui_ImplSDL2_ProcessEvent(event); +} diff --git a/src/xrt/targets/gui/CMakeLists.txt b/src/xrt/targets/gui/CMakeLists.txt index f20bdc23b..74d1c83d8 100644 --- a/src/xrt/targets/gui/CMakeLists.txt +++ b/src/xrt/targets/gui/CMakeLists.txt @@ -19,6 +19,7 @@ set(SOURCE_FILES gui_sdl2_imgui.c gui_sdl2_main.c gui_sdl2_prober.c + ../../../external/imgui/cimgui_sdl.cpp ../../../external/imgui/imgui_impl_sdl.cpp ../../../external/imgui/imgui_impl_sdl.h ) diff --git a/src/xrt/targets/gui/meson.build b/src/xrt/targets/gui/meson.build index 21a513bf6..ef6a6d08c 100644 --- a/src/xrt/targets/gui/meson.build +++ b/src/xrt/targets/gui/meson.build @@ -20,6 +20,7 @@ gui = executable( 'gui_sdl2_imgui.c', 'gui_sdl2_main.c', 'gui_sdl2_prober.c', + '../../../external/imgui/cimgui_sdl.cpp', '../../../external/imgui/imgui_impl_sdl.cpp', '../../../external/imgui/imgui_impl_sdl.h', ), diff --git a/src/xrt/targets/openxr/CMakeLists.txt b/src/xrt/targets/openxr/CMakeLists.txt index f1fa84fed..59aaee97f 100644 --- a/src/xrt/targets/openxr/CMakeLists.txt +++ b/src/xrt/targets/openxr/CMakeLists.txt @@ -76,6 +76,7 @@ if(BUILD_WITH_SDL2) ) target_sources(${RUNTIME_TARGET} PRIVATE + ../../../external/imgui/cimgui_sdl.cpp ../../../external/imgui/imgui_impl_sdl.cpp ../../../external/imgui/imgui_impl_sdl.h ) diff --git a/src/xrt/targets/openxr/meson.build b/src/xrt/targets/openxr/meson.build index 8b0562a9d..cb47d33b4 100644 --- a/src/xrt/targets/openxr/meson.build +++ b/src/xrt/targets/openxr/meson.build @@ -25,6 +25,7 @@ if sdl2.found() hack_deps += sdl2 hack_src += [ 'oxr_sdl2_hack.c', + '../../../external/imgui/cimgui_sdl.cpp', '../../../external/imgui/imgui_impl_sdl.cpp', '../../../external/imgui/imgui_impl_sdl.h', ]