--- a/camerauis/cameraxui/cxengine/inc/cxestillcapturecontrolsymbian.h Thu May 13 21:30:19 2010 +0300
+++ b/camerauis/cameraxui/cxengine/inc/cxestillcapturecontrolsymbian.h Thu Jul 15 01:55:05 2010 +0300
@@ -38,6 +38,7 @@
class CxeImageDataQueue;
class CxeImageDataQueueSymbian;
class CxeViewfinderControl;
+class CxeSnapshotControl;
class CxeSensorEventHandler;
class CxeCameraDeviceControl;
class CxeAutoFocusControl;
@@ -59,6 +60,7 @@
CxeStillCaptureControlSymbian(CxeCameraDevice &cameraDevice,
CxeViewfinderControl &viewfinderControl,
+ CxeSnapshotControl &snapshotControl,
CxeCameraDeviceControl &cameraDeviceControl,
CxeFilenameGenerator &nameGenerator,
CxeSensorEventHandler &sensorEventHandler,
@@ -93,7 +95,7 @@
void prepareZoomForStill(int ecamStillResolutionIndex);
protected: // from CxeStateMachine
- void handleStateChanged( int newStateId, CxeError::Id error );
+ void handleStateChanged(int newStateId, CxeError::Id error);
protected slots:
@@ -104,9 +106,14 @@
// notification for when camera is released
void prepareForRelease();
- // ECam events
- void handleCameraEvent( int eventUid, int error );
- void handleImageData( MCameraBuffer *buffer, int error );
+ // ECAM events
+ void handleCameraEvent(int eventUid, int error);
+
+ // Image data event
+ void handleImageData(MCameraBuffer *buffer, int error);
+
+ // Snapshot event
+ void handleSnapshotReady(CxeError::Id status, const QImage &snapshot);
// settings call back
void handleSettingValueChanged(const QString& settingId,QVariant newValue);
@@ -128,9 +135,7 @@
CCamera::TFormat supportedStillFormat(Cxe::CameraIndex cameraIndex);
int prepareStillSnapshot();
CxeError::Id getImageQualityDetails(CxeImageDetails &imageInfo);
- TSize getSnapshotSize() const;
void handleSnapshotEvent(CxeError::Id error);
- QPixmap extractSnapshot();
void initializeStates();
void prepare();
void updateRemainingImagesCounter();
@@ -141,6 +146,7 @@
CxeImageDataQueueSymbian *mImageDataQueue; // own
CxeCameraDevice &mCameraDevice;
CxeViewfinderControl &mViewfinderControl;
+ CxeSnapshotControl &mSnapshotControl;
CxeCameraDeviceControl &mCameraDeviceControl;
CxeFilenameGenerator &mFilenameGenerator; //! @todo could be shared with video capture control?
CxeSensorEventHandler &mSensorEventHandler;
@@ -162,20 +168,6 @@
QList<TSize> mECamSupportedImageResolutions;
//current image quality details in use
CxeImageDetails mCurrentImageDetails;
-
-private: // Helper class
-
- class CxeCameraBufferCleanup
- {
- public:
- CxeCameraBufferCleanup(MCameraBuffer* buffer) : mBuffer(buffer) {}
- ~CxeCameraBufferCleanup() { if (mBuffer) { mBuffer->Release(); } }
-
- private:
- Q_DISABLE_COPY(CxeCameraBufferCleanup)
-
- MCameraBuffer* mBuffer;
- };
};
#endif // CXESTILLCAPTURECONTROLSYMBIAN_H