[vlc-devel] [PATCH] activex: fix handling of fullscreen mode
Daniel Amm
da2424 at t-online.de
Thu May 21 21:49:03 CEST 2015
---
activex/plugin.cpp | 13 +++++++++++++
activex/plugin.h | 2 ++
activex/vlccontrol2.cpp | 6 +++---
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/activex/plugin.cpp b/activex/plugin.cpp
index 9357a98..96acacc 100644
--- a/activex/plugin.cpp
+++ b/activex/plugin.cpp
@@ -689,6 +689,19 @@ void VLCPlugin::toggleFullscreen()
_WindowsManager.ToggleFullScreen();
}
+void VLCPlugin::setFullscreen(BOOL yes)
+{
+ if( yes )
+ _WindowsManager.StartFullScreen();
+ else
+ _WindowsManager.EndFullScreen();
+}
+
+BOOL VLCPlugin::getFullscreen()
+{
+ return _WindowsManager.IsFullScreen();
+}
+
HRESULT VLCPlugin::onInPlaceDeactivate(void)
{
if( m_player.mlp().isPlaying() )
diff --git a/activex/plugin.h b/activex/plugin.h
index 441afd5..6364c34 100644
--- a/activex/plugin.h
+++ b/activex/plugin.h
@@ -218,6 +218,8 @@ public:
RECT getPosRect(void) { return _posRect; };
inline HWND getInPlaceWindow(void) const { return _inplacewnd; };
void toggleFullscreen();
+ void setFullscreen(BOOL yes);
+ BOOL getFullscreen();
BOOL isInPlaceActive(void);
diff --git a/activex/vlccontrol2.cpp b/activex/vlccontrol2.cpp
index 284228e..0315237 100644
--- a/activex/vlccontrol2.cpp
+++ b/activex/vlccontrol2.cpp
@@ -920,13 +920,13 @@ STDMETHODIMP VLCVideo::get_fullscreen(VARIANT_BOOL* fullscreen)
if( NULL == fullscreen )
return E_POINTER;
- *fullscreen = _plug->get_player().get_mp().fullscreen();
+ *fullscreen = _plug->getFullscreen();
return S_OK;
}
STDMETHODIMP VLCVideo::put_fullscreen(VARIANT_BOOL fullscreen)
{
- _plug->get_player().get_mp().setFullscreen( VARIANT_FALSE != fullscreen );
+ _plug->setFullscreen( VARIANT_FALSE != fullscreen );
return S_OK;
}
@@ -1133,7 +1133,7 @@ STDMETHODIMP VLCVideo::takeSnapshot(LPPICTUREDISP* picture)
STDMETHODIMP VLCVideo::toggleFullscreen()
{
- _plug->get_player().get_mp().toggleFullscreen();
+ _plug->toggleFullscreen();
return S_OK;
}
--
2.1.4
More information about the vlc-devel
mailing list