Kiwano Engine v1.3.x
imgui_impl_dx11.h
1// dear imgui: Renderer for Kiwano (DirectX11)
2
3#pragma once
4#include <imgui/imgui.h>
5
6#ifndef KGE_DOXYGEN_DO_NOT_INCLUDE
7#ifndef IMGUI_DISABLE
8
9struct ID3D11Device;
10struct ID3D11DeviceContext;
11struct ID3D11SamplerState;
12struct ID3D11Buffer;
13
14// Follow "Getting Started" link and check examples/ folder to learn about using backends!
15IMGUI_IMPL_API bool ImGui_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context);
16IMGUI_IMPL_API void ImGui_ImplDX11_Shutdown();
17IMGUI_IMPL_API void ImGui_ImplDX11_NewFrame();
18IMGUI_IMPL_API void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data);
19
20// Use if you want to reset your rendering device without losing Dear ImGui state.
21IMGUI_IMPL_API bool ImGui_ImplDX11_CreateDeviceObjects();
22IMGUI_IMPL_API void ImGui_ImplDX11_InvalidateDeviceObjects();
23
24// [BETA] Selected render state data shared with callbacks.
25// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX11_RenderDrawData() call.
26// (Please open an issue if you feel you need access to more data)
27struct ImGui_ImplDX11_RenderState
28{
29 ID3D11Device* Device;
30 ID3D11DeviceContext* DeviceContext;
31 ID3D11SamplerState* SamplerDefault;
32 ID3D11Buffer* VertexConstantBuffer;
33};
34
35#endif // #ifndef IMGUI_DISABLE
36#endif