/*!
* This file is part of CameraPlus.
*
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <QSize>
#include <QPair>
#include <QString>
+#include <QSharedDataPointer>
+#include <QStringList>
class QtCamVideoSettingsPrivate;
+class QtCamVideoResolutionPrivate;
-class QtCamVideoSettings {
+class QtCamVideoResolution {
public:
- QtCamVideoSettings(const QString& id, const QString& name,
- const QSize& capture, const QSize& preview,
- int fps, int nightFps);
-
- QtCamVideoSettings(const QtCamVideoSettings& other);
-
- ~QtCamVideoSettings();
+ QtCamVideoResolution(const QString& id, const QString& name, const QSize& capture,
+ const QSize& preview, int fps, int nightFps,
+ const QString& aspectRatio, const QString& resolution);
+ QtCamVideoResolution(const QtCamVideoResolution& other);
+ QtCamVideoResolution& operator=(const QtCamVideoResolution& other);
- QtCamVideoSettings& operator=(const QtCamVideoSettings& other);
+ ~QtCamVideoResolution();
QString id() const;
QString name() const;
QSize previewResolution() const;
int frameRate() const;
int nightFrameRate() const;
+ QString aspectRatio() const;
+ QString resolution() const;
+
+private:
+ QSharedDataPointer<QtCamVideoResolutionPrivate> d_ptr;
+};
+
+class QtCamVideoSettings {
+public:
+ QtCamVideoSettings(const QString& id, const QString& suffix, const QString& profileName,
+ const QString& profilePath, const QList<QtCamVideoResolution>& resolutions);
+ QtCamVideoSettings(const QtCamVideoSettings& other);
+
+ QtCamVideoSettings& operator=(const QtCamVideoSettings& other);
+
+ ~QtCamVideoSettings();
+
+ QString id() const;
+ QString suffix() const;
+ QString profileName() const;
+ QString profilePath() const;
+
+ QtCamVideoResolution defaultResolution(const QString& aspectRatio = QString()) const;
+ QList<QtCamVideoResolution> resolutions(const QString& aspectRatio = QString()) const;
+ QStringList aspectRatios() const;
private:
- QtCamVideoSettingsPrivate *d_ptr;
+ QSharedDataPointer<QtCamVideoSettingsPrivate> d_ptr;
};
#endif /* QT_CAM_VIDEO_SETTINGS_H */