X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lib%2Fqtcamvideomode.h;h=77a489ebd0e225593a3dbdb21992987defe3c2f6;hb=0da718e86100458cc336d51ca79554e4fbac415d;hp=c6fb34b164fc4fbf8517a47e09b97f6fa2bb657b;hpb=ddd8b7037bf34c35800f2a8cec0af45fcbd72a68;p=harmattan%2Fcameraplus diff --git a/lib/qtcamvideomode.h b/lib/qtcamvideomode.h index c6fb34b..77a489e 100644 --- a/lib/qtcamvideomode.h +++ b/lib/qtcamvideomode.h @@ -1,5 +1,25 @@ // -*- c++ -*- +/*! + * This file is part of CameraPlus. + * + * Copyright (C) 2012-2013 Mohammed Sameer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifndef QT_CAM_VIDEO_MODE_H #define QT_CAM_VIDEO_MODE_H @@ -8,32 +28,46 @@ class QtCamDevicePrivate; class QtCamVideoModePrivate; +class QtCamVideoResolution; class QtCamVideoSettings; class QtCamVideoMode : public QtCamMode { Q_OBJECT + Q_PROPERTY(bool recording READ isRecording NOTIFY recordingStateChanged); + public: - QtCamVideoMode(QtCamDevicePrivate *d, QObject *parent = 0); + QtCamVideoMode(QtCamDevicePrivate *dev, QObject *parent = 0); ~QtCamVideoMode(); virtual bool canCapture(); virtual void applySettings(); bool isRecording(); - bool startRecording(const QString& fileName); - bool stopRecording(); - bool setSettings(const QtCamVideoSettings& settings); + bool startRecording(const QString& fileName, const QString& tmpFileName = QString()); + + bool setResolution(const QtCamVideoResolution& resolution); + + QtCamVideoResolution currentResolution(); void setProfile(GstEncodingProfile *profile); + QtCamVideoSettings *settings(); + +public slots: + void stopRecording(bool sync); + +signals: + void recordingStateChanged(); + protected: virtual void start(); virtual void stop(); private: - QtCamVideoModePrivate *d_ptr; + QtCamVideoModePrivate *d; + Q_PRIVATE_SLOT(d, void _d_idleStateChanged(bool)); }; #endif /* QT_CAM_VIDEO_MODE_H */