diff options
Diffstat (limited to 'tools/platform/gui.h')
| -rw-r--r-- | tools/platform/gui.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/platform/gui.h b/tools/platform/gui.h new file mode 100644 index 000000000..d22da3299 --- /dev/null +++ b/tools/platform/gui.h @@ -0,0 +1,34 @@ +// gui.h +#pragma once + +#include "slang-gfx.h" +#include "vector-math.h" +#include "window.h" +#include "slang-com-ptr.h" +#include "external/imgui/imgui.h" +#include "source/core/slang-basic.h" + +namespace platform { + +struct GUI : Slang::RefObject +{ + GUI(Window* window, + gfx::IRenderer* renderer, + gfx::ICommandQueue* queue, + gfx::IFramebufferLayout* framebufferLayout); + ~GUI(); + + void beginFrame(); + void endFrame(gfx::IFramebuffer* framebuffer); + +private: + Slang::ComPtr<gfx::IRenderer> renderer; + Slang::ComPtr<gfx::ICommandQueue> queue; + Slang::ComPtr<gfx::IRenderPassLayout> renderPass; + Slang::ComPtr<gfx::IPipelineState> pipelineState; + Slang::ComPtr<gfx::IDescriptorSetLayout> descriptorSetLayout; + Slang::ComPtr<gfx::IPipelineLayout> pipelineLayout; + Slang::ComPtr<gfx::ISamplerState> samplerState; +}; + +} // gfx |
