aboutsummaryrefslogtreecommitdiff
path: root/core/src/Entrypoint/Backend_DirectX11.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Entrypoint/Backend_DirectX11.cpp')
-rw-r--r--core/src/Entrypoint/Backend_DirectX11.cpp36
1 files changed, 24 insertions, 12 deletions
diff --git a/core/src/Entrypoint/Backend_DirectX11.cpp b/core/src/Entrypoint/Backend_DirectX11.cpp
index 8d46bf4..4dc33f7 100644
--- a/core/src/Entrypoint/Backend_DirectX11.cpp
+++ b/core/src/Entrypoint/Backend_DirectX11.cpp
@@ -11,7 +11,8 @@
// Forward declare message handler from imgui_impl_win32.cpp
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
-class DirectX11Backend : public RenderingBackend {
+class DirectX11Backend : public RenderingBackend
+{
private:
HWND hWnd;
WNDCLASSEX wc;
@@ -22,7 +23,8 @@ private:
ID3D11RenderTargetView* mMainRenderTargetView = nullptr;
public:
- DirectX11Backend() {
+ DirectX11Backend()
+ {
ImGui_ImplWin32_EnableDpiAwareness();
wc.cbSize = sizeof(WNDCLASSEX);
@@ -68,7 +70,8 @@ public:
ImGui_ImplDX11_Init(mD3dDevice, mD3dDeviceContext);
}
- virtual ~DirectX11Backend() {
+ virtual ~DirectX11Backend()
+ {
ImGui_ImplDX11_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
@@ -78,7 +81,8 @@ public:
::UnregisterClass(wc.lpszClassName, wc.hInstance);
}
- virtual void RunUntilWindowClose(void (*windowContent)()) {
+ virtual void RunUntilWindowClose(void (*windowContent)())
+ {
while (true) {
MSG msg;
bool done = false;
@@ -109,7 +113,8 @@ public:
}
private:
- bool CreateDeviceD3D() {
+ bool CreateDeviceD3D()
+ {
// Setup swap chain
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory(&sd, sizeof(sd));
@@ -142,7 +147,8 @@ private:
return true;
}
- void CleanupDeviceD3D() {
+ void CleanupDeviceD3D()
+ {
CleanupRenderTarget();
if (mSwapChain) {
mSwapChain->Release();
@@ -158,21 +164,24 @@ private:
}
}
- void CreateRenderTarget() {
+ void CreateRenderTarget()
+ {
ID3D11Texture2D* pBackBuffer;
mSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer));
mD3dDevice->CreateRenderTargetView(pBackBuffer, nullptr, &mMainRenderTargetView);
pBackBuffer->Release();
}
- void CleanupRenderTarget() {
+ void CleanupRenderTarget()
+ {
if (mMainRenderTargetView) {
mMainRenderTargetView->Release();
mMainRenderTargetView = nullptr;
}
}
- static LRESULT CALLBACK StaticWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
+ static LRESULT CALLBACK StaticWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+ {
DirectX11Backend* self;
if (uMsg == WM_NCCREATE) {
auto lpcs = reinterpret_cast<LPCREATESTRUCT>(lParam);
@@ -190,7 +199,8 @@ private:
}
}
- LRESULT WndProc(UINT msg, WPARAM wParam, LPARAM lParam) {
+ LRESULT WndProc(UINT msg, WPARAM wParam, LPARAM lParam)
+ {
if (ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam)) {
return true;
}
@@ -221,7 +231,8 @@ private:
}
};
-std::unique_ptr<RenderingBackend> RenderingBackend::CreateDx11Backend() {
+std::unique_ptr<RenderingBackend> RenderingBackend::CreateDx11Backend()
+{
try {
return std::make_unique<DirectX11Backend>();
} catch (std::exception& e) {
@@ -231,7 +242,8 @@ std::unique_ptr<RenderingBackend> RenderingBackend::CreateDx11Backend() {
#else // ^^ BUILD_CORE_WITH_DX11_BACKEND | BUILD_CORE_WITH_DX11_BACKEND vv
-std::unique_ptr<RenderingBackend> RenderingBackend::CreateDx11Backend() {
+std::unique_ptr<RenderingBackend> RenderingBackend::CreateDx11Backend()
+{
return nullptr;
}