summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2014-06-15 14:16:53 +0200
committerPierre Bourdon <delroth@gmail.com>2014-06-15 14:16:53 +0200
commit020b4fde1e433240f6d1f2fd2af0b56aaab8f122 (patch)
tree9f919c0972d806d3b7d256feb122bc4c1d8bd5d2 /Source/Core/VideoBackends
parenta6395ae5b3ae4406b22c81ef9f3c4d6dd3f96f38 (diff)
parentf2759ffe65b00b1e49486e7ab050a1ac079921c1 (diff)
Merge pull request #492 from Armada651/master
Remove EmuWindow
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/D3D/D3DBase.h1
-rw-r--r--Source/Core/VideoBackends/D3D/Render.cpp22
-rw-r--r--Source/Core/VideoBackends/D3D/Render.h2
-rw-r--r--Source/Core/VideoBackends/D3D/VideoBackend.h2
-rw-r--r--Source/Core/VideoBackends/D3D/main.cpp16
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp3
-rw-r--r--Source/Core/VideoBackends/OGL/main.cpp1
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