]> git.sesse.net Git - vlc/blob - bindings/phonon/vlc/vlcvideowidget.h
d8e9d216a8615636f9612121d9170f79d0a675fa
[vlc] / bindings / phonon / vlc / vlcvideowidget.h
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>                            *
6  *                                                                           *
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.          *
11  *                                                                           *
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.                           *
16  *                                                                           *
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  *****************************************************************************/
21
22 #ifndef PHONON_VLC_VLCVIDEOWIDGET_H
23 #define PHONON_VLC_VLCVIDEOWIDGET_H
24
25 #include "widgetnopaintevent.h"
26
27 #include <QtGui/QWidget>
28
29 class QResizeEvent;
30
31 namespace Phonon
32 {
33 namespace VLC {
34
35 /**
36  * Widget where to show VLC video.
37  */
38 class VLCVideoWidget : public WidgetNoPaintEvent
39 {
40     Q_OBJECT
41 public:
42
43     VLCVideoWidget(QWidget *p_parent);
44     ~VLCVideoWidget();
45
46     void setVideoSize(const QSize & videoSize);
47     void setAspectRatio(double f_aspect_ratio);
48     void setScaleAndCropMode(bool b_scale_and_crop);
49
50     QSize sizeHint() const;
51
52 private:
53
54     void resizeEvent(QResizeEvent *p_event);
55
56     /**
57      * Original size of the video, needed for sizeHint().
58      */
59     QSize videoSize;
60 };
61
62 }
63 } // Namespace Phonon::VLC_MPlayer
64
65 #endif // PHONON_VLC_MPLAYER_VLCVIDEOWIDGET_H