VLC-Qt 0.8.0- (Different version)
Video.h
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_
 All Classes Namespaces Functions Enumerations