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: bh1sosd4#2 %
00007 *
00008 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
00009 * All rights reserved.
00010 * This component and the accompanying materials are made available
00011 * under the terms of "Eclipse Public License v1.0"
00012 * which accompanies this distribution, and is available
00013 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
00014 * ==============================================================================
00015 */
00016 
00017 #ifndef CCAMERAENGINE_H
00018 #define CCAMERAENGINE_H
00019 
00020 // INCLUDES
00021 #include <e32base.h>
00022 #include <ecam.h>
00023 
00024 // FORWARD DECLARATIONS
00025 class CCameraEnginePrivate;
00026 class MCameraEngineObserver;
00027 class CCameraAdvancedSettings;
00028 
00029 NONSHARABLE_CLASS( CCameraEngine ) : public CBase
00030   {
00031 public:
00032 
00033   enum TCameraEngineState
00034       {
00035       EEngineNotReady,
00036       EEngineIdle,
00037       EEngineViewFinding,
00038       EEngineCapturing,
00039       EEngineFocusing
00040       };
00041 
00042   IMPORT_C static CCameraEngine* NewL( TInt aCameraHandle, 
00043                                        TInt aPriority, 
00044                                        MCameraEngineObserver* aObserver );
00045     IMPORT_C ~CCameraEngine();
00046   
00047 public:
00048 
00053   IMPORT_C TCameraEngineState State() const;
00054 
00059   IMPORT_C TBool IsCameraReady() const;
00060 
00064   IMPORT_C TBool IsAutoFocusSupported() const;
00065   
00073   IMPORT_C void CaptureL();
00074   
00080   IMPORT_C void ReserveAndPowerOn();
00081 
00086   IMPORT_C void ReleaseAndPowerOff();
00087 
00096   IMPORT_C void PrepareL( TSize& aCaptureSize,               
00097       CCamera::TFormat aFormat = CCamera::EFormatExif );
00098       
00108   IMPORT_C void StartViewFinderL( TSize& aSize );
00109 
00113   IMPORT_C void StopViewFinder();
00114   
00120   IMPORT_C void ReleaseViewFinderBuffer();
00121   
00128   IMPORT_C void ReleaseImageBuffer();
00129   
00136   IMPORT_C void StartFocusL();
00137   
00141   IMPORT_C void FocusCancel();
00142 
00148   IMPORT_C void SupportedFocusRanges( TInt& aSupportedRanges ) const;
00149   
00155   IMPORT_C void SetFocusRange( TInt aFocusRange );
00156   
00163   IMPORT_C CCamera* Camera();
00164   
00172   IMPORT_C CCamera::CCameraAdvancedSettings* AdvancedSettings();
00173   
00177   IMPORT_C static TInt CamerasAvailable();
00178   
00182   IMPORT_C TInt MaxDigitalZoom();
00183   
00187   IMPORT_C TInt DigitalZoom();
00188   
00194   IMPORT_C TInt AdjustDigitalZoom( TBool aTele );
00195   
00200   IMPORT_C TInt SupportedExposureModes();
00201   
00206   IMPORT_C TInt Exposure();
00207   
00214   IMPORT_C TInt SetExposure( TInt aExposure );
00215 
00220   IMPORT_C TInt SupportedFlashModes();
00221   
00226   IMPORT_C TInt Flash();
00227 
00234   IMPORT_C TInt SetFlash( TInt aFlash );
00235 
00236 protected:
00237     CCameraEngine();
00238 
00239 private:
00240     CCameraEnginePrivate* iPimpl;
00241   };
00242 
00243 #endif //CCAMERAENGINE_H

Generated by  doxygen 1.6.2