Browse Source

skins2: add vout window asynchronous resize

pull/138/head
Denis Charmet 4 years ago
parent
commit
b20aa0737f
  1. 3
      modules/gui/skins2/Makefile.am
  2. 9
      modules/gui/skins2/src/vout_window.cpp
  3. 3
      modules/gui/skins2/src/vout_window.hpp

3
modules/gui/skins2/Makefile.am

@ -193,7 +193,8 @@ libskins2_plugin_la_SOURCES = \
gui/skins2/vars/time.cpp \
gui/skins2/vars/time.hpp \
gui/skins2/vars/volume.cpp \
gui/skins2/vars/volume.hpp
gui/skins2/vars/volume.hpp \
video_output/wasync_resize_compressor.h
if HAVE_WIN32
libskins2_plugin_la_SOURCES += \

9
modules/gui/skins2/src/vout_window.cpp

@ -51,10 +51,15 @@ VoutWindow::VoutWindow( intf_thread_t *pIntf, vlc_window_t* pWnd,
updateWindowConfiguration( m_pWnd );
m_pTimer.reset(pOsFactory->createOSTimer( m_cmdHideMouse ));
vlc_wasync_resize_compressor_init(&m_compressor, m_pWnd);
}
}
VoutWindow::~VoutWindow() = default;
VoutWindow::~VoutWindow()
{
if (m_pWnd)
vlc_wasync_resize_compressor_destroy(&m_compressor);
}
void VoutWindow::setCtrlVideo( CtrlVideo* pCtrlVideo )
{
@ -91,7 +96,7 @@ void VoutWindow::resize( int width, int height )
GenericWindow::resize( width, height );
if( m_pWnd )
vlc_window_ReportSize( m_pWnd, width, height );
vlc_wasync_resize_compressor_reportSize(&m_compressor, width, height);
}

3
modules/gui/skins2/src/vout_window.hpp

@ -28,6 +28,7 @@
#include "../commands/cmd_generic.hpp"
#include <vlc_window.h>
#include <memory>
#include "../../../video_output/wasync_resize_compressor.h"
class OSGraphics;
class OSTimer;
@ -102,6 +103,8 @@ private:
std::unique_ptr<OSTimer> m_pTimer;
int mouse_hide_timeout;
DEFINE_CALLBACK( VoutWindow, HideMouse );
vlc_wasync_resize_compressor_t m_compressor;
};
typedef CountedPtr<VoutWindow> VoutWindowPtr;

Loading…
Cancel
Save