Enhance XCUI demo text editing and host bridge

This commit is contained in:
2026-04-05 05:58:05 +08:00
parent a7662a1d43
commit d1cb0c874b
11 changed files with 479 additions and 24 deletions

View File

@@ -0,0 +1,40 @@
#include <gtest/gtest.h>
#include "UI/ImGuiBackendBridge.h"
#include <type_traits>
namespace {
using XCEngine::Editor::UI::ImGuiBackendBridge;
using XCEngine::RHI::RHIDevice;
using XCEngine::RHI::RHIResourceView;
using XCEngine::RHI::RHITexture;
TEST(ImGuiBackendBridgeApiTest, ExposesExistingShaderResourceViewRegistrationOverload) {
using TextureDescriptorFromTextureSignature = bool (ImGuiBackendBridge::*)(
RHIDevice*,
RHITexture*,
D3D12_CPU_DESCRIPTOR_HANDLE*,
D3D12_GPU_DESCRIPTOR_HANDLE*,
ImTextureID*);
using TextureDescriptorFromSrvSignature = bool (ImGuiBackendBridge::*)(
RHIDevice*,
RHIResourceView*,
D3D12_CPU_DESCRIPTOR_HANDLE*,
D3D12_GPU_DESCRIPTOR_HANDLE*,
ImTextureID*);
static_assert(std::is_same_v<
decltype(static_cast<TextureDescriptorFromTextureSignature>(
&ImGuiBackendBridge::CreateTextureDescriptor)),
TextureDescriptorFromTextureSignature>);
static_assert(std::is_same_v<
decltype(static_cast<TextureDescriptorFromSrvSignature>(
&ImGuiBackendBridge::CreateTextureDescriptor)),
TextureDescriptorFromSrvSignature>);
SUCCEED();
}
} // namespace