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_IMAGE_SETTINGS_H
24 #define QT_CAM_IMAGE_SETTINGS_H
29 #include <QSharedDataPointer>
30 #include <QStringList>
32 class QtCamImageSettingsPrivate;
33 class QtCamImageResolutionPrivate;
35 class QtCamImageResolution {
37 QtCamImageResolution(const QString& id, const QString& name, const QSize& capture,
38 const QSize& preview, const QSize& viewfinder,
39 int fps, int nightFps, int megaPixels, QString aspectRatio);
40 QtCamImageResolution(const QtCamImageResolution& other);
42 QtCamImageResolution& operator=(const QtCamImageResolution& other);
44 ~QtCamImageResolution();
48 QSize captureResolution() const;
49 QSize viewfinderResolution() const;
50 QSize previewResolution() const;
51 int frameRate() const;
52 int nightFrameRate() const;
53 int megaPixels() const;
54 QString aspectRatio() const;
57 QSharedDataPointer<QtCamImageResolutionPrivate> d_ptr;
60 class QtCamImageSettings {
62 QtCamImageSettings(const QString& id, const QString& suffix, const QString& profileName,
63 const QString& profilePath, const QList<QtCamImageResolution>& resolutions);
64 QtCamImageSettings(const QtCamImageSettings& other);
66 QtCamImageSettings& operator=(const QtCamImageSettings& other);
68 ~QtCamImageSettings();
71 QString suffix() const;
72 QString profileName() const;
73 QString profilePath() const;
75 QtCamImageResolution defaultResolution(const QString& aspectRatio = QString()) const;
76 QList<QtCamImageResolution> resolutions(const QString& aspectRatio = QString()) const;
77 QStringList aspectRatios() const;
80 QSharedDataPointer<QtCamImageSettingsPrivate> d_ptr;
83 #endif /* QT_CAM_IMAGE_SETTINGS_H */