diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2010-06-21 12:30:19 +0400 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2010-06-21 12:30:19 +0400 |
commit | 31c3c14a1dfb98997de7a17c4a4c2a12e7d1fb9a (patch) | |
tree | 22aad5436d56d66cc3c01256231804034901ab1f /src/filters/renderer/VideoRenderers | |
parent | cf07320495669b33ab301227664be41b57131514 (diff) |
Changed : update for madVR
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@2068 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/renderer/VideoRenderers')
3 files changed, 19 insertions, 3 deletions
diff --git a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp index 311f6bc97..f2d7137e4 100644 --- a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp +++ b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp @@ -56,7 +56,7 @@ HRESULT CreateAP9(const CLSID& clsid, HWND hWnd, bool bFullscreen, ISubPicAlloca || clsid == CLSID_RM9AllocatorPresenter && !(*ppAP = DNew CRM9AllocatorPresenter(hWnd, bFullscreen, hr, Error))
|| clsid == CLSID_QT9AllocatorPresenter && !(*ppAP = DNew CQT9AllocatorPresenter(hWnd, bFullscreen, hr, Error))
|| clsid == CLSID_DXRAllocatorPresenter && !(*ppAP = DNew CDXRAllocatorPresenter(hWnd, hr, Error))
- || clsid == CLSID_madVRAllocatorPresenter && !(*ppAP = DNew CmadVRAllocatorPresenter(hWnd, hr, Error)))
+ || clsid == CLSID_madVRAllocatorPresenter && !(*ppAP = DNew CmadVRAllocatorPresenter(hWnd, bFullscreen, hr, Error)))
return E_OUTOFMEMORY;
if(*ppAP == NULL)
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp index 5a590f604..bcf7cecbd 100644 --- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp +++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp @@ -29,13 +29,21 @@ using namespace DSObjects;
+
+[uuid("51FA8F61-1444-4597-996E-7495405753E6")]
+interface IMadVRFullscreen : public IUnknown
+{
+ STDMETHOD(ActivateFullscreenMode)(void) = 0;
+};
+
//
// CmadVRAllocatorPresenter
//
-CmadVRAllocatorPresenter::CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CString &_Error)
+CmadVRAllocatorPresenter::CmadVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRESULT& hr, CString &_Error)
: CSubPicAllocatorPresenterImpl(hWnd, hr, &_Error)
, m_ScreenSize(0, 0)
+ , m_bIsFullscreen(bFullscreen)
{
if(FAILED(hr))
{
@@ -169,6 +177,13 @@ STDMETHODIMP CmadVRAllocatorPresenter::CreateRenderer(IUnknown** ppRenderer) m_pDXR.CoCreateInstance(CLSID_madVR, GetOwner());
if(!m_pDXR) return E_FAIL;
+ if (m_bIsFullscreen)
+ {
+ CComQIPtr<IMadVRFullscreen> pVRF = m_pDXR;
+ if (pVRF != NULL)
+ pVRF->ActivateFullscreenMode();
+ }
+
CComQIPtr<ISubRender> pSR = m_pDXR;
if(!pSR)
{
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h index a245a1581..e2fdc770e 100644 --- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h +++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h @@ -82,9 +82,10 @@ class CmadVRAllocatorPresenter CComPtr<IUnknown> m_pDXR;
CComPtr<ISubRenderCallback> m_pSRCB;
CSize m_ScreenSize;
+ bool m_bIsFullscreen;
public:
- CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CString &_Error);
+ CmadVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRESULT& hr, CString &_Error);
virtual ~CmadVRAllocatorPresenter();
DECLARE_IUNKNOWN
|