1
<?xml version="1.0" encoding="iso-8859-1"?>
3
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>Qt 4.6: videowidget.cpp Example File (video/videowidget/videowidget.cpp)</title>
7
<link href="classic.css" rel="stylesheet" type="text/css" />
10
<table border="0" cellpadding="0" cellspacing="0" width="100%">
12
<td align="left" valign="top" width="32"><a href="http://qt.nokia.com/"><img src="images/qt-logo.png" align="left" border="0" /></a></td>
13
<td width="1"> </td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a> · <a href="classes.html"><font color="#004faf">All Classes</font></a> · <a href="functions.html"><font color="#004faf">All Functions</font></a> · <a href="overviews.html"><font color="#004faf">Overviews</font></a></td><td class="searchBar" align="right" valign="center"><form action="http://www.google.com/cse" id="cse-search-box"><div><input type="hidden" name="cx" value="000136343326384750312:dhbxnqlakyu" /><input type="hidden" name="ie" value="UTF-8" /><input type="text" name="q" size="31" /><input type="submit" name="sa" value="Search" /></div></form></td>
14
</tr></table><h1 class="title">videowidget.cpp Example File<br /><span class="small-subtitle">video/videowidget/videowidget.cpp</span>
16
<pre><span class="comment"> /****************************************************************************
18
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
19
** All rights reserved.
20
** Contact: Nokia Corporation (qt-info@nokia.com)
22
** This file is part of the examples of the Qt Toolkit.
24
** $QT_BEGIN_LICENSE:LGPL$
25
** No Commercial Usage
26
** This file contains pre-release code and may not be distributed.
27
** You may use this file in accordance with the terms and conditions
28
** contained in the Technology Preview License Agreement accompanying
31
** GNU Lesser General Public License Usage
32
** Alternatively, this file may be used under the terms of the GNU Lesser
33
** General Public License version 2.1 as published by the Free Software
34
** Foundation and appearing in the file LICENSE.LGPL included in the
35
** packaging of this file. Please review the following information to
36
** ensure the GNU Lesser General Public License version 2.1 requirements
37
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
39
** In addition, as a special exception, Nokia gives you certain additional
40
** rights. These rights are described in the Nokia Qt LGPL Exception
41
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
43
** If you have questions regarding the use of this file, please contact
44
** Nokia at qt-info@nokia.com.
55
****************************************************************************/</span>
57
#include "videowidget.h"
59
#include "videowidgetsurface.h"
61
#include <QtMultimedia>
63
VideoWidget::VideoWidget(QWidget *parent)
67
setAutoFillBackground(false);
68
setAttribute(Qt::WA_NoSystemBackground, true);
69
setAttribute(Qt::WA_PaintOnScreen, true);
71
QPalette palette = this->palette();
72
palette.setColor(QPalette::Background, Qt::black);
75
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
77
surface = new VideoWidgetSurface(this);
80
VideoWidget::~VideoWidget()
85
QSize VideoWidget::sizeHint() const
87
return surface->surfaceFormat().sizeHint();
90
void VideoWidget::paintEvent(QPaintEvent *event)
92
QPainter painter(this);
94
if (surface->isStarted()) {
95
const QRect videoRect = surface->videoRect();
97
if (!videoRect.contains(event->rect())) {
98
QRegion region = event->region();
99
region.subtract(videoRect);
101
QBrush brush = palette().background();
103
foreach (const QRect &rect, region.rects())
104
painter.fillRect(rect, brush);
107
surface->paint(&painter);
109
painter.fillRect(event->rect(), palette().background());
113
void VideoWidget::resizeEvent(QResizeEvent *event)
115
QWidget::resizeEvent(event);
117
surface->updateVideoRect();
119
<p /><address><hr /><div align="center">
120
<table width="100%" cellspacing="0" border="0"><tr class="address">
121
<td width="40%" align="left">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies)</td>
122
<td width="20%" align="center"><a href="trademarks.html">Trademarks</a></td>
123
<td width="40%" align="right"><div align="right">Qt 4.6.0</div></td>
124
<script type="text/javascript" src="http://www.google.com/jsapi"></script><script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script><script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse-search-box&t13n_langs=en"></script><script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script></tr></table></div></address></body>