videowidgetinterface.h

Go to the documentation of this file.
00001 /*  This file is part of the KDE project
00002     Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). <thierry.bastian@trolltech.com>
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Lesser General Public
00006     License as published by the Free Software Foundation; either
00007     version 2.1 of the License, or (at your option) version 3, or any
00008     later version accepted by the membership of KDE e.V. (or its
00009     successor approved by the membership of KDE e.V.), Nokia Corporation 
00010     (or its successors, if any) and the KDE Free Qt Foundation, which shall
00011     act as a proxy defined in Section 6 of version 3 of the license.
00012 
00013     This library is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016     Lesser General Public License for more details.
00017 
00018     You should have received a copy of the GNU Lesser General Public 
00019     License along with this library.  If not, see <http://www.gnu.org/licenses/>.
00020 
00021 */
00022 
00023 #ifndef PHONON_VIDEOWIDGETINTERFACE_H
00024 #define PHONON_VIDEOWIDGETINTERFACE_H
00025 
00026 #include "videowidget.h"
00027 
00028 QT_BEGIN_HEADER
00029 QT_BEGIN_NAMESPACE
00030 
00031 #ifndef QT_NO_PHONON_VIDEO
00032 
00033 namespace Phonon
00034 {
00035 class VideoWidgetInterface
00036 {
00037     public:
00038         virtual ~VideoWidgetInterface() {}
00039 
00040         virtual Phonon::VideoWidget::AspectRatio aspectRatio() const = 0;
00041         virtual void setAspectRatio(Phonon::VideoWidget::AspectRatio) = 0;
00042         virtual qreal brightness() const = 0;
00043         virtual void setBrightness(qreal) = 0;
00044         virtual Phonon::VideoWidget::ScaleMode scaleMode() const = 0;
00045         virtual void setScaleMode(Phonon::VideoWidget::ScaleMode) = 0;
00046         virtual qreal contrast() const = 0;
00047         virtual void setContrast(qreal) = 0;
00048         virtual qreal hue() const = 0;
00049         virtual void setHue(qreal) = 0;
00050         virtual qreal saturation() const = 0;
00051         virtual void setSaturation(qreal) = 0;
00052         virtual QWidget *widget() = 0;
00053 //X        virtual int overlayCapabilities() const = 0;
00054 //X        virtual bool createOverlay(QWidget *widget, int type) = 0;
00055 };
00056 
00057 class VideoWidgetInterface44 : public VideoWidgetInterface
00058 {
00059     public:
00060         virtual QImage snapshot() const = 0;
00061 };
00062 }
00063 
00064 #ifdef PHONON_BACKEND_VERSION_4_4
00065 namespace Phonon { typedef VideoWidgetInterface44 VideoWidgetInterfaceLatest; }
00066 #else
00067 namespace Phonon { typedef VideoWidgetInterface VideoWidgetInterfaceLatest; }
00068 #endif
00069 
00070 Q_DECLARE_INTERFACE(Phonon::VideoWidgetInterface44, "VideoWidgetInterface44.phonon.kde.org")
00071 Q_DECLARE_INTERFACE(Phonon::VideoWidgetInterface, "VideoWidgetInterface3.phonon.kde.org")
00072 
00073 #endif //QT_NO_PHONON_VIDEO
00074 
00075 QT_END_NAMESPACE
00076 QT_END_HEADER
00077 
00078 #endif // PHONON_VIDEOWIDGETINTERFACE_H