File indexing completed on 2024-04-28 08:34:58

0001 /*  This file is part of the KDE project
0002     Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). <thierry.bastian@trolltech.com>
0003 
0004     This library is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Lesser General Public
0006     License as published by the Free Software Foundation; either
0007     version 2.1 of the License, or (at your option) version 3, or any
0008     later version accepted by the membership of KDE e.V. (or its
0009     successor approved by the membership of KDE e.V.), Nokia Corporation 
0010     (or its successors, if any) and the KDE Free Qt Foundation, which shall
0011     act as a proxy defined in Section 6 of version 3 of the license.
0012 
0013     This library is distributed in the hope that it will be useful,
0014     but WITHOUT ANY WARRANTY; without even the implied warranty of
0015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016     Lesser General Public License for more details.
0017 
0018     You should have received a copy of the GNU Lesser General Public 
0019     License along with this library.  If not, see <http://www.gnu.org/licenses/>.
0020 
0021 */
0022 
0023 #ifndef PHONON_VIDEOWIDGETINTERFACE_H
0024 #define PHONON_VIDEOWIDGETINTERFACE_H
0025 
0026 #include "videowidget.h"
0027 
0028 
0029 #ifndef QT_NO_PHONON_VIDEO
0030 
0031 namespace Phonon
0032 {
0033 class VideoWidgetInterface
0034 {
0035     public:
0036         virtual ~VideoWidgetInterface() {}
0037 
0038         virtual Phonon::VideoWidget::AspectRatio aspectRatio() const = 0;
0039         virtual void setAspectRatio(Phonon::VideoWidget::AspectRatio) = 0;
0040         virtual qreal brightness() const = 0;
0041         virtual void setBrightness(qreal) = 0;
0042         virtual Phonon::VideoWidget::ScaleMode scaleMode() const = 0;
0043         virtual void setScaleMode(Phonon::VideoWidget::ScaleMode) = 0;
0044         virtual qreal contrast() const = 0;
0045         virtual void setContrast(qreal) = 0;
0046         virtual qreal hue() const = 0;
0047         virtual void setHue(qreal) = 0;
0048         virtual qreal saturation() const = 0;
0049         virtual void setSaturation(qreal) = 0;
0050         virtual QWidget *widget() = 0;
0051 //X        virtual int overlayCapabilities() const = 0;
0052 //X        virtual bool createOverlay(QWidget *widget, int type) = 0;
0053 };
0054 
0055 class VideoWidgetInterface44 : public VideoWidgetInterface
0056 {
0057     public:
0058         virtual QImage snapshot() const = 0;
0059 };
0060 }
0061 
0062 #ifdef PHONON_BACKEND_VERSION_4_4
0063 namespace Phonon { typedef VideoWidgetInterface44 VideoWidgetInterfaceLatest; }
0064 #else
0065 namespace Phonon { typedef VideoWidgetInterface VideoWidgetInterfaceLatest; }
0066 #endif
0067 
0068 Q_DECLARE_INTERFACE(Phonon::VideoWidgetInterface44, "VideoWidgetInterface44.phonon.kde.org")
0069 Q_DECLARE_INTERFACE(Phonon::VideoWidgetInterface, "VideoWidgetInterface3.phonon.kde.org")
0070 
0071 #endif //QT_NO_PHONON_VIDEO
0072 
0073 
0074 #endif // PHONON_VIDEOWIDGETINTERFACE_H