1 /*****************************************************************************
2 * VLC backend for the Phonon library *
3 * Copyright (C) 2007-2008 Tanguy Krotoff <tkrotoff@gmail.com> *
4 * Copyright (C) 2008 Lukas Durfina <lukas.durfina@gmail.com> *
5 * Copyright (C) 2009 Fathi Boudra <fabo@kde.org> *
7 * This program is free software; you can redistribute it and/or *
8 * modify it under the terms of the GNU Lesser General Public *
9 * License as published by the Free Software Foundation; either *
10 * version 3 of the License, or (at your option) any later version. *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15 * Lesser General Public License for more details. *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with this package; if not, write to the Free Software *
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
20 *****************************************************************************/
22 #include "widgetnopaintevent.h"
24 #include <QtGui/QPainter>
30 WidgetNoPaintEvent::WidgetNoPaintEvent(QWidget *p_parent)
33 // When resizing fill with black (backgroundRole color) the rest is done by paintEvent
34 setAttribute(Qt::WA_OpaquePaintEvent);
36 // Disable Qt composition management as MPlayer draws onto the widget directly
37 setAttribute(Qt::WA_PaintOnScreen);
39 // Indicates that the widget has no background,
40 // i.e. when the widget receives paint events, the background is not automatically repainted.
41 setAttribute(Qt::WA_NoSystemBackground);
43 // Required for dvdnav
44 setMouseTracking(true);
47 void WidgetNoPaintEvent::paintEvent(QPaintEvent *p_event)
49 // FIXME this makes the video flicker
50 // Make everything backgroundRole color
51 QPainter painter(this);
52 painter.eraseRect(rect());
55 void WidgetNoPaintEvent::setBackgroundColor(const QColor & color)
57 QPalette p = palette();
58 p.setColor(backgroundRole(), color);
63 } // Namespace Phonon::VLC