--- a/camerauis/cameraxui/cxengine/inc/cxevideocapturecontroldesktop.h Tue Aug 31 15:03:46 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef CXEVIDEOCAPTURECONTROLDESKTOP_H_
-#define CXEVIDEOCAPTURECONTROLDESKTOP_H_
-
-#include <QTime>
-#include <QPixmap>
-#include <QTimer>
-
-#include "cxesettings.h"
-#include "cxevideocapturecontrol.h"
-#include "cxestatemachine.h"
-#include "cxenamespace.h"
-
-
-// Custom command for setting a new filename without closing & reopening the controller
-enum TCamCControllerCustomCommands
- {
- ECamCControllerCCNewFilename = 0,
- ECamCControllerCCVideoStopAsync
- };
-
-
-// forward declarations
-class CxeCameraDeviceDesktop;
-class CxeQualityPresets;
-class CxeFilenameGenerator;
-class CxeViewfinderControl;
-class CxeCameraDeviceControl;
-
-
-class CxeVideoCaptureControlDesktop : public CxeVideoCaptureControl
-{
- Q_OBJECT
-
-public: // constructors
-
- CxeVideoCaptureControlDesktop( CxeCameraDeviceDesktop &cameraDevice,
- CxeViewfinderControl &viewfinderControl,
- CxeCameraDeviceControl &cameraDeviceControl,
- CxeFilenameGenerator &nameGenerator,
- CxeQualityPresets &qualityPresets);
-
- virtual ~CxeVideoCaptureControlDesktop();
-
-public: // functions from CxeVideoCaptureControl
- CxeVideoCaptureControl::State state() const;
- void record();
- void pause();
- void stop();
- void remainingTime(int &time);
- bool elapsedTime(int &time);
- void reset();
- QString filename() const;
- QPixmap snapshot() const;
- QList<CxeVideoDetails> supportedVideoQualities();
-
-public: // public member functions, not in client API
- void handleSnapshotEvent(CxeError::Id error);
-
-signals:
- void videoPrepareComplete(CxeError::Id error);
- void prepareZoomForVideo();
-
-public slots:
- //! Notification for when camera device is ready and we're entering video mode
- void init();
- //! Notification for when we're exiting video mode
- void deinit();
- //! Notification that videocapture sound has been played
- void handleSoundPlayed();
-
-protected slots:
- // notifications when ECam reference is changed
- void prepareForCameraDelete();
- void handleCameraAllocated(CxeError::Id error);
- void prepareForRelease();
- // ECam events
- void handleCameraEvent(int eventUid, int error);
- // settings call back
- void handleSettingValueChanged(const QString &settingId, QVariant newValue);
- void handleSceneChanged(CxeScene &scene);
-
-private: // helper methods
- void releaseResources();
- void initializeStates();
- int prepareVideoSnapshot();
- void initVideoRecorder();
- void open();
- void prepare();
- void createVideoRecorder();
- void setupElapseTimer();
- void setState(CxeVideoCaptureControl::State stateId, CxeError::Id error = CxeError::None);
-
-private slots:
- void handleElapseTimeout();
-
-private: // private data
-
- CxeCameraDeviceDesktop &mCameraDevice;
- CxeCameraDeviceControl &mCameraDeviceControl;
- CxeViewfinderControl &mViewfinderControl;
- CxeFilenameGenerator &mFilenameGenerator;
- CxeQualityPresets &mQualityPresets;
- //! Snapshot image.
- QPixmap mSnapshot;
- //! New file name generated for the video prepare.
- QString mNewFileName;
- //! Current video file name
- QString mCurrentFilename;
- CxeVideoCaptureControl::State mState;
- //current video quality details in use
- CxeVideoDetails mCurrentVideoDetails;
-
- //timer for simulating elapsing time
- QTimer mRecordElapseTimer;
-
- //elapsed recording time in seconds
- int mElapsedTime;
-};
-
-#endif /* CXEVIDEOCAPTURECONTROLDESKTOP_H_ */