![]() |
VLC-Qt 0.8.0- (Different version)
|
00001 /**************************************************************************** 00002 * VLC-Qt - Qt and libvlc connector library 00003 * Copyright (C) 2012 Tadej Novak <tadej@tano.si> 00004 * 00005 * This library is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU Lesser General Public License as published 00007 * by the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public License 00016 * along with this library. If not, see <http://www.gnu.org/licenses/>. 00017 *****************************************************************************/ 00018 00019 #ifndef VLCQT_VIDEO_H_ 00020 #define VLCQT_VIDEO_H_ 00021 00022 #include <QtCore/QList> 00023 #include <QtCore/QSize> 00024 #include <QtCore/QString> 00025 #include <QtCore/QStringList> 00026 00027 #include "Enums.h" 00028 #include "SharedExportCore.h" 00029 00030 class VlcMediaPlayer; 00031 00032 struct libvlc_media_player_t; 00033 00040 class VLCQT_CORE_EXPORT VlcVideo : public QObject 00041 { 00042 Q_OBJECT 00043 public: 00051 explicit VlcVideo(VlcMediaPlayer *player); 00052 00056 ~VlcVideo(); 00057 00062 Vlc::Ratio aspectRatio() const; 00063 00068 Vlc::Ratio cropGeometry() const; 00069 00073 void hideLogo(); 00074 00078 void hideMarquee(); 00079 00084 Vlc::Scale scale() const; 00085 00090 void setAspectRatio(const Vlc::Ratio &ratio); 00091 00096 void setCropGeometry(const Vlc::Ratio &ratio); 00097 00102 void setDeinterlace(const Vlc::Deinterlacing &filter); 00103 00108 void setScale(const Vlc::Scale &scale); 00109 00114 void setSubtitle(const int &subtitle); 00115 00120 void setSubtitleFile(const QString &subtitle); 00121 00126 void setTeletextPage(const int &page); 00127 00132 void setTrack(const int &track); 00133 00141 void showLogo(const QString &file, 00142 const int &x, 00143 const int &y, 00144 const int &opacity = 255); 00145 00153 void showMarquee(const QString &text, 00154 const int &x, 00155 const int &y, 00156 const int &timeout = 0, 00157 const int &opacity = 255, 00158 const int &size = -1, 00159 const int &color = 0xFFFFFF); 00160 00165 QSize size() const; 00166 00171 int subtitle() const; 00172 00177 int subtitleCount() const; 00178 00183 QStringList subtitleDescription() const; 00184 00189 QList<int> subtitleIds() const; 00190 00196 bool takeSnapshot(const QString &path) const; 00197 00202 int teletextPage() const; 00203 00207 void toggleTeletextTransparency(); 00208 00213 int track() const; 00214 00219 int trackCount() const; 00220 00225 QStringList trackDescription() const; 00226 00231 QList<int> trackIds() const; 00232 00233 private: 00234 libvlc_media_player_t *_vlcMediaPlayer; 00235 }; 00236 00237 #endif // VLCQT_VIDEO_H_