examples/ForumNokia/CameraExample/camerawrapper/epoc32/include/cameraengine.h

00001 /*
00002 * ============================================================================
00003 *  Name        : cameraengine.h
00004 *  Part of     : CameraWrapper
00005 *  Description : Camera engine class declaration
00006 *  Version     : %version: 1 %
00007 *
00008 *  Copyright (c) 2009 Nokia Corporation.
00009 *  This material, including documentation and any related
00010 *  computer programs, is protected by copyright controlled by
00011 *  Nokia Corporation.
00012 * ==============================================================================
00013 */
00014 
00015 #ifndef CCAMERAENGINE_H
00016 #define CCAMERAENGINE_H
00017 
00018 // INCLUDES
00019 #include <e32base.h>
00020 #include <ecam.h>
00021 
00022 // FORWARD DECLARATIONS
00023 class CCameraEnginePrivate;
00024 class MCameraEngineObserver;
00025 class CCameraAdvancedSettings;
00026 
00027 NONSHARABLE_CLASS( CCameraEngine ) : public CBase
00028   {
00029 public:
00030 
00031   enum TCameraEngineState
00032       {
00033       EEngineNotReady,
00034       EEngineIdle,
00035       EEngineViewFinding,
00036       EEngineCapturing,
00037       EEngineFocusing
00038       };
00039 
00040   IMPORT_C static CCameraEngine* NewL( TInt aCameraHandle, 
00041                                        TInt aPriority, 
00042                                        MCameraEngineObserver* aObserver );
00043     IMPORT_C ~CCameraEngine();
00044   
00045 public:
00046 
00051   IMPORT_C TCameraEngineState State() const;
00052 
00057   IMPORT_C TBool IsCameraReady() const;
00058 
00062   IMPORT_C TBool IsAutoFocusSupported() const;
00063   
00071   IMPORT_C void CaptureL();
00072   
00078   IMPORT_C void ReserveAndPowerOn();
00079 
00084   IMPORT_C void ReleaseAndPowerOff();
00085 
00094   IMPORT_C void PrepareL( TSize& aCaptureSize,               
00095       CCamera::TFormat aFormat = CCamera::EFormatExif );
00096       
00106   IMPORT_C void StartViewFinderL( TSize& aSize );
00107 
00111   IMPORT_C void StopViewFinder();
00112   
00118   IMPORT_C void ReleaseViewFinderBuffer();
00119   
00126   IMPORT_C void ReleaseImageBuffer();
00127   
00134   IMPORT_C void StartFocusL();
00135   
00139   IMPORT_C void FocusCancel();
00140 
00146   IMPORT_C void SupportedFocusRanges( TInt& aSupportedRanges ) const;
00147   
00153   IMPORT_C void SetFocusRange( TInt aFocusRange );
00154   
00161   IMPORT_C CCamera* Camera();
00162   
00170   IMPORT_C CCamera::CCameraAdvancedSettings* AdvancedSettings();
00171   
00175   IMPORT_C static TInt CamerasAvailable();
00176   
00180   IMPORT_C TInt MaxDigitalZoom();
00181   
00185   IMPORT_C TInt DigitalZoom();
00186   
00192   IMPORT_C TInt AdjustDigitalZoom( TBool aTele );
00193   
00198   IMPORT_C TInt SupportedExposureModes();
00199   
00204   IMPORT_C TInt Exposure();
00205   
00212   IMPORT_C TInt SetExposure( TInt aExposure );
00213 
00218   IMPORT_C TInt SupportedFlashModes();
00219   
00224   IMPORT_C TInt Flash();
00225 
00232   IMPORT_C TInt SetFlash( TInt aFlash );
00233 
00234 protected:
00235     CCameraEngine();
00236 
00237 private:
00238     CCameraEnginePrivate* iPimpl;
00239   };
00240 
00241 #endif //CCAMERAENGINE_H

Generated by  doxygen 1.6.2