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
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.