@ -34,6 +34,12 @@ namespace vlc {
class Compositor {
public:
enum Type
{
DummyCompositor,
Win7Compositor,
DirectCompositionCompositor
};
virtual ~Compositor() = default;
@ -42,6 +48,8 @@ public:
virtual bool setupVoutWindow(vout_window_t *p_wnd) = 0;
virtual Type type() const = 0;
//factory
static Compositor* createCompositor(intf_thread_t *p_intf);
@ -326,4 +326,9 @@ bool CompositorDirectComposition::setupVoutWindow(vout_window_t *p_wnd)
return true;
}
Compositor::Type CompositorDirectComposition::type() const
return Compositor::DirectCompositionCompositor;
@ -52,6 +52,8 @@ public:
bool setupVoutWindow(vout_window_t *p_wnd) override;
Type type() const override;
private slots:
void onSurfacePositionChanged(QPointF position);
@ -74,4 +74,9 @@ bool CompositorDummy::setupVoutWindow(vout_window_t*)
return false;
Compositor::Type CompositorDummy::type() const
return Compositor::DummyCompositor;
@ -42,6 +42,8 @@ public:
protected:
intf_thread_t *m_intf;
@ -273,6 +273,12 @@ bool CompositorWin7::setupVoutWindow(vout_window_t *p_wnd)
Compositor::Type CompositorWin7::type() const
return Compositor::Win7Compositor;
bool CompositorWin7::eventFilter(QObject*, QEvent* ev)
switch (ev->type())
virtual void destroyMainInterface() override;
virtual bool setupVoutWindow(vout_window_t*) override;
bool eventFilter(QObject *obj, QEvent *ev) override;