Преглед изворни кода

Imgui backend libsdl3 (#6559)

* add_imgui add libsdl3 backend

* Apply suggestions from code review

Co-authored-by: qudix <[email protected]>

* Update xmake.lua

---------

Co-authored-by: Jérôme Leclercq <[email protected]>
Co-authored-by: qudix <[email protected]>
Snowinter пре 5 месеци
родитељ
комит
e376cfb843
2 измењених фајлова са 24 додато и 0 уклоњено
  1. 17 0
      packages/i/imgui/port/xmake.lua
  2. 7 0
      packages/i/imgui/xmake.lua

+ 17 - 0
packages/i/imgui/port/xmake.lua

@@ -12,6 +12,8 @@ option("opengl3",          {showmenu = true,  default = false})
 option("glad",             {showmenu = true,  default = false})
 option("sdl2",             {showmenu = true,  default = false})
 option("sdl2_renderer",    {showmenu = true,  default = false})
+option("sdl3",             {showmenu = true,  default = false})
+option("sdl3_renderer",    {showmenu = true,  default = false})
 option("vulkan",           {showmenu = true,  default = false})
 option("win32",            {showmenu = true,  default = false})
 option("wgpu",             {showmenu = true,  default = false})
@@ -32,6 +34,9 @@ if has_config("sdl2_renderer") then
 elseif has_config("sdl2") then
     add_requires("libsdl2")
 end
+if has_config("sdl3") or has_config("sdl3_renderer") then
+    add_requires("libsdl3")
+end
 
 if has_config("vulkan") then
     add_requires("vulkansdk")
@@ -119,6 +124,18 @@ target("imgui")
         add_packages("libsdl2")
     end
 
+    if has_config("sdl3") then
+        add_files("backends/imgui_impl_sdl3.cpp")
+        add_headerfiles("(backends/imgui_impl_sdl3.h)")
+        add_packages("libsdl3")
+    end
+
+    if has_config("sdl3_renderer") then
+        add_files("backends/imgui_impl_sdlrenderer3.cpp")
+        add_headerfiles("(backends/imgui_impl_sdlrenderer3.h)")
+        add_packages("libsdl3")
+    end
+
     if has_config("vulkan") then
         add_files("backends/imgui_impl_vulkan.cpp")
         add_headerfiles("(backends/imgui_impl_vulkan.h)")

+ 7 - 0
packages/i/imgui/xmake.lua

@@ -92,6 +92,8 @@ package("imgui")
     add_configs("sdl2",             {description = "Enable the sdl2 backend with sdl2_renderer", default = false, type = "boolean"})
     add_configs("sdl2_no_renderer", {description = "Enable the sdl2 backend without sdl2_renderer", default = false, type = "boolean"})
     add_configs("sdl2_renderer",    {description = "Enable the sdl2 renderer backend", default = false, type = "boolean"})
+    add_configs("sdl3",             {description = "Enable the sdl3 backend with sdl3_renderer", default = false, type = "boolean"})
+    add_configs("sdl3_renderer",    {description = "Enable the sdl3 renderer backend", default = false, type = "boolean"})
     add_configs("vulkan",           {description = "Enable the vulkan backend", default = false, type = "boolean"})
     add_configs("win32",            {description = "Enable the win32 backend", default = false, type = "boolean"})
     add_configs("wgpu",             {description = "Enable the wgpu backend", default = false, type = "boolean"})
@@ -147,6 +149,9 @@ package("imgui")
         if package:config("sdl2_renderer") then
             package:add("deps", "libsdl2 >=2.0.17")
         end
+        if package:config("sdl3_no_renderer") or package:config("sdl3_renderer") then
+            package:add("deps", "libsdl3")
+        end
         if package:config("vulkan") then
             package:add("deps", "vulkansdk")
         end
@@ -170,6 +175,8 @@ package("imgui")
             glad             = package:config("opengl3") and (not package:gitref() and package:version():lt("1.84")),
             sdl2             = package:config("sdl2") or package:config("sdl2_no_renderer"),
             sdl2_renderer    = package:config("sdl2_renderer"),
+            sdl3             = package:config("sdl3"),
+            sdl3_renderer    = package:config("sdl3_renderer"),
             vulkan           = package:config("vulkan"),
             win32            = package:config("win32"),
             wgpu             = package:config("wgpu"),