4 * This file is part of CameraPlus.
6 * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 #ifndef QT_CAM_VIDEO_SETTINGS_H
24 #define QT_CAM_VIDEO_SETTINGS_H
29 #include <QSharedDataPointer>
30 #include <QStringList>
32 class QtCamVideoSettingsPrivate;
33 class QtCamVideoResolutionPrivate;
35 class QtCamVideoResolution {
37 QtCamVideoResolution(const QString& id, const QString& name, const QSize& capture,
38 const QSize& preview, int fps, int nightFps,
39 const QString& aspectRatio, const QString& resolution);
40 QtCamVideoResolution(const QtCamVideoResolution& other);
41 QtCamVideoResolution& operator=(const QtCamVideoResolution& other);
43 ~QtCamVideoResolution();
47 QSize captureResolution() const;
48 QSize previewResolution() const;
49 int frameRate() const;
50 int nightFrameRate() const;
51 QString aspectRatio() const;
52 QString resolution() const;
55 QSharedDataPointer<QtCamVideoResolutionPrivate> d_ptr;
58 class QtCamVideoSettings {
60 QtCamVideoSettings(const QString& id, const QString& suffix, const QString& profileName,
61 const QString& profilePath, const QList<QtCamVideoResolution>& resolutions);
62 QtCamVideoSettings(const QtCamVideoSettings& other);
64 QtCamVideoSettings& operator=(const QtCamVideoSettings& other);
66 ~QtCamVideoSettings();
69 QString suffix() const;
70 QString profileName() const;
71 QString profilePath() const;
73 QtCamVideoResolution defaultResolution(const QString& aspectRatio = QString()) const;
74 QList<QtCamVideoResolution> resolutions(const QString& aspectRatio = QString()) const;
75 QStringList aspectRatios() const;
78 QSharedDataPointer<QtCamVideoSettingsPrivate> d_ptr;
81 #endif /* QT_CAM_VIDEO_SETTINGS_H */