summaryrefslogtreecommitdiff
path: root/tools/graphics-app-framework/gui.h
blob: 4fd1ca150fd3166314262881769381aa544f2ef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// gui.h
#pragma once

#include "tools/gfx/render.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 gfx {

struct GUI : Slang::RefObject
{
    GUI(Window* window, IRenderer* renderer);
    ~GUI();

    void beginFrame();
    void endFrame();

private:
    Slang::ComPtr<IRenderer>    renderer;
    Slang::ComPtr<IPipelineState>       pipelineState;
    Slang::ComPtr<IDescriptorSetLayout> descriptorSetLayout;
    Slang::ComPtr<IPipelineLayout>      pipelineLayout;
    Slang::ComPtr<ISamplerState>        samplerState;
};

} // gfx