diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2014-06-15 14:16:53 +0200 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2014-06-15 14:16:53 +0200 |
| commit | 020b4fde1e433240f6d1f2fd2af0b56aaab8f122 (patch) | |
| tree | 9f919c0972d806d3b7d256feb122bc4c1d8bd5d2 /Source/Core/VideoBackends | |
| parent | a6395ae5b3ae4406b22c81ef9f3c4d6dd3f96f38 (diff) | |
| parent | f2759ffe65b00b1e49486e7ab050a1ac079921c1 (diff) | |
Merge pull request #492 from Armada651/master
Remove EmuWindow
Diffstat (limited to 'Source/Core/VideoBackends')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/D3DBase.h | 1 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/D3D/Render.cpp | 22 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/D3D/Render.h | 2 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/D3D/VideoBackend.h | 2 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/D3D/main.cpp | 16 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/main.cpp | 1 |
7 files changed, 16 insertions, 31 deletions
diff --git a/Source/Core/VideoBackends/D3D/D3DBase.h b/Source/Core/VideoBackends/D3D/D3DBase.h index 3418a0c03d..f700c7b2ce 100644 --- a/Source/Core/VideoBackends/D3D/D3DBase.h +++ b/Source/Core/VideoBackends/D3D/D3DBase.h @@ -41,6 +41,7 @@ void Close(); extern ID3D11Device* device; extern ID3D11DeviceContext* context; extern IDXGISwapChain* swapchain; +extern HWND hWnd; extern bool bFrameInProgress; void Reset(); diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index f7c493577c..0db11ec1c2 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -26,7 +26,6 @@ #include "VideoCommon/AVIDump.h" #include "VideoCommon/BPFunctions.h" -#include "VideoCommon/EmuWindow.h" #include "VideoCommon/Fifo.h" #include "VideoCommon/FPSCounter.h" #include "VideoCommon/ImageWrite.h" @@ -178,7 +177,7 @@ void CreateScreenshotTexture(const TargetRectangle& rc) D3D::SetDebugObjectName((ID3D11DeviceChild*)s_screenshot_texture, "staging screenshot texture"); } -Renderer::Renderer() +Renderer::Renderer(void *&window_handle) { int x, y, w_temp, h_temp; @@ -186,7 +185,7 @@ Renderer::Renderer() Host_GetRenderWindowSize(x, y, w_temp, h_temp); - D3D::Create(EmuWindow::GetWnd()); + D3D::Create((HWND)window_handle); s_backbuffer_width = D3D::GetBackBufferWidth(); s_backbuffer_height = D3D::GetBackBufferHeight(); @@ -275,21 +274,8 @@ TargetRectangle Renderer::ConvertEFBRectangle(const EFBRectangle& rc) // size. bool Renderer::CheckForResize() { - while (EmuWindow::IsSizing()) - Sleep(10); - - if (EmuWindow::GetParentWnd()) - { - // Re-stretch window to parent window size again, if it has a parent window. - RECT rcParentWindow; - GetWindowRect(EmuWindow::GetParentWnd(), &rcParentWindow); - int width = rcParentWindow.right - rcParentWindow.left; - int height = rcParentWindow.bottom - rcParentWindow.top; - if (width != Renderer::GetBackbufferWidth() || height != Renderer::GetBackbufferHeight()) - MoveWindow(EmuWindow::GetWnd(), 0, 0, width, height, FALSE); - } RECT rcWindow; - GetClientRect(EmuWindow::GetWnd(), &rcWindow); + GetClientRect(D3D::hWnd, &rcWindow); int client_width = rcWindow.right - rcWindow.left; int client_height = rcWindow.bottom - rcWindow.top; @@ -866,7 +852,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl { s_recordWidth = GetTargetRectangle().GetWidth(); s_recordHeight = GetTargetRectangle().GetHeight(); - bAVIDumping = AVIDump::Start(EmuWindow::GetParentWnd(), s_recordWidth, s_recordHeight); + bAVIDumping = AVIDump::Start(D3D::hWnd, s_recordWidth, s_recordHeight); if (!bAVIDumping) { PanicAlert("Error dumping frames to AVI."); diff --git a/Source/Core/VideoBackends/D3D/Render.h b/Source/Core/VideoBackends/D3D/Render.h index 0b71ad4801..175d521ca2 100644 --- a/Source/Core/VideoBackends/D3D/Render.h +++ b/Source/Core/VideoBackends/D3D/Render.h @@ -9,7 +9,7 @@ namespace DX11 class Renderer : public ::Renderer { public: - Renderer(); + Renderer(void *&window_handle); ~Renderer(); void SetColorMask() override; diff --git a/Source/Core/VideoBackends/D3D/VideoBackend.h b/Source/Core/VideoBackends/D3D/VideoBackend.h index 6de3ceb743..fd58ab1ff4 100644 --- a/Source/Core/VideoBackends/D3D/VideoBackend.h +++ b/Source/Core/VideoBackends/D3D/VideoBackend.h @@ -21,6 +21,8 @@ class VideoBackend : public VideoBackendHardware void UpdateFPSDisplay(const std::string&) override; unsigned int PeekMessages() override; + + void* m_window_handle; }; } diff --git a/Source/Core/VideoBackends/D3D/main.cpp b/Source/Core/VideoBackends/D3D/main.cpp index 138b83d16c..043b22e35f 100644 --- a/Source/Core/VideoBackends/D3D/main.cpp +++ b/Source/Core/VideoBackends/D3D/main.cpp @@ -29,7 +29,6 @@ #include "VideoCommon/BPStructs.h" #include "VideoCommon/CommandProcessor.h" -#include "VideoCommon/EmuWindow.h" #include "VideoCommon/Fifo.h" #include "VideoCommon/IndexGenerator.h" #include "VideoCommon/OnScreenDisplay.h" @@ -58,7 +57,8 @@ unsigned int VideoBackend::PeekMessages() void VideoBackend::UpdateFPSDisplay(const std::string& text) { - EmuWindow::SetWindowText(StringFromFormat("%s | D3D | %s", scm_rev_str, text.c_str())); + std::string str = StringFromFormat("%s | D3D | %s", scm_rev_str, text.c_str()); + SetWindowTextA((HWND)m_window_handle, str.c_str()); } std::string VideoBackend::GetName() const @@ -147,6 +147,9 @@ void VideoBackend::ShowConfig(void *_hParent) bool VideoBackend::Initialize(void *&window_handle) { + if (window_handle == nullptr) + return false; + InitializeShared(); InitBackendInfo(); @@ -158,12 +161,7 @@ bool VideoBackend::Initialize(void *&window_handle) g_Config.VerifyValidity(); UpdateActiveConfig(); - window_handle = (void*)EmuWindow::Create((HWND)window_handle, GetModuleHandle(0), _T("Loading - Please wait.")); - if (window_handle == nullptr) - { - ERROR_LOG(VIDEO, "An error has occurred while trying to create the window."); - return false; - } + m_window_handle = window_handle; s_BackendInitialized = true; @@ -178,7 +176,7 @@ void VideoBackend::Video_Prepare() s_swapRequested = FALSE; // internal interfaces - g_renderer = new Renderer; + g_renderer = new Renderer(m_window_handle); g_texture_cache = new TextureCache; g_vertex_manager = new VertexManager; g_perf_query = new PerfQuery; diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index a1e41c5179..481d61454f 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -56,7 +56,6 @@ #endif #ifdef _WIN32 -#include "VideoCommon/EmuWindow.h" #endif #if defined _WIN32 || defined HAVE_LIBAV #include "VideoCommon/AVIDump.h" @@ -1461,7 +1460,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl if (!bLastFrameDumped) { #ifdef _WIN32 - bAVIDumping = AVIDump::Start(EmuWindow::GetParentWnd(), w, h); + bAVIDumping = AVIDump::Start((HWND)((cInterfaceWGL*)GLInterface)->m_window_handle, w, h); #else bAVIDumping = AVIDump::Start(w, h); #endif diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index c84f2944b3..aa31573054 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -80,7 +80,6 @@ Make AA apply instantly during gameplay if possible #ifdef _WIN32 #include "Common/IniFile.h" -#include "VideoCommon/EmuWindow.h" #endif #if defined(HAVE_WX) && HAVE_WX |
