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