diff -r e1e28b0273b0 -r 93fff7023be8 EngInc/IEEngine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EngInc/IEEngine.h Fri Oct 15 10:18:29 2010 +0900 @@ -0,0 +1,105 @@ +/* +* Copyright (c) 2009 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: Juha Kauppinen, Mika Hokkanen +* +* Description: Photo Browser +* +*/ + +#ifndef __IEENGINE_H__ +#define __IEENGINE_H__ + +#define _FACEBROWSING + +// Include files +#include +#include + +#include "ImagicConsts.h" +#include "debug.h" +#include "IEImage.h" +#include "IEImageProcessing.h" //thumbnail client +#include "IESensorMonitor.h" +#include "IEImageList.h" + +#ifdef _S60_5x_ACCELEROMETER_ +#include +#endif + +//Structures + +// Class declaration, AppUI class implements +class MIEEngineObserver +{ +public: + virtual void ImagesLoadedL(TInt aError) = 0; + virtual void TNCreationCompleteL(TThumbSize aTnRes) = 0; + virtual void SingleTNCreationCompletedL(TInt index, TThumbSize aTnRes) = 0; + virtual void FaceDetectionComplete() = 0; + virtual void SingleFaceDetectionComplete() = 0; + virtual TInt GetImageIndex() = 0; + virtual void AllFilesScanned() = 0; + virtual void ImageListChanged(TInt aIndex, TBool bAdded) = 0; +#ifdef _ACCELEROMETER_SUPPORTED_ + virtual void ImageRotated(TImagicDeviceOrientation aDeviceOrientation) = 0; +#endif + virtual TInt GetGleMaxRes() = 0; + +}; + +class CIEEngine : public CBase +{ +public: + + IMPORT_C static CIEEngine* NewL(MIEEngineObserver& aObserver); + IMPORT_C virtual ~CIEEngine(); + IMPORT_C virtual TInt GetTotalNumOfImages() = 0; + IMPORT_C virtual void GetTotalNumOfImages(TInt& aNumOfImages, TInt& aNumOfFaces) = 0; + IMPORT_C virtual TInt DeleteFile(TInt aIndex) = 0; + IMPORT_C virtual TInt GetImageName(const TInt aIndex, TFileName& aFileName, TThumbSize aThumbRes) = 0; + IMPORT_C virtual void GetBitmapL(CImageData* aImageData, CFbsBitmap* aBitmap, TThumbSize aThumbRes) = 0; + IMPORT_C virtual void AppUIReady() = 0; + IMPORT_C virtual void CancelFullSizeLoading() = 0; +#ifdef _ACCELEROMETER_SUPPORTED_ + IMPORT_C virtual TImagicDeviceOrientation GetDeviceOrientation() = 0; + IMPORT_C virtual void SetDeviceOrientation(TImagicDeviceOrientation aOrientation) = 0; + IMPORT_C virtual void StartAccSensorMonitoring() = 0; + IMPORT_C virtual void StopAccSensorMonitoring() = 0; +#endif + IMPORT_C virtual TBool IsAccelerometerExists() = 0; + IMPORT_C virtual void SensorDataAvailable(TImagicDeviceOrientation aOrientation, TBool aValue) = 0; + IMPORT_C virtual void SetImageRotation(TInt aIndex) = 0; + IMPORT_C virtual void SetDBChanged(CImageData* aImageData) = 0; + + //New functions for handling UI access to Filename array + IMPORT_C virtual CImageData* GetImageData(TInt aIndex/*, TImageArrayMode aMode*/) = 0; + IMPORT_C virtual void SetImageData(TInt aIndex, CImageData* aGridData) = 0; + IMPORT_C virtual TBool IsScanningFiles() const = 0; + IMPORT_C virtual CIEImageList& GetImageList() = 0; + + // TN related functions + IMPORT_C virtual void GetFileNameL(const TInt aIndex, TThumbSize aThumbRes, TFileName& aFilename) = 0; + IMPORT_C virtual void StopTNGeneration(TInt &aValue) = 0; + IMPORT_C virtual TReal GetAspectRatio(TInt aIndex) = 0; + IMPORT_C virtual TReal GetFacesAspectRatio(TInt aIndex) = 0; + IMPORT_C virtual void GenerateThumbNailL(const TDes &aOrgFile, TThumbSize aTNResolution) = 0; + + // Newly added face Detection functions + IMPORT_C virtual void GetFaceCoordinates(const TFileName a128x128TNFileName, RArray& aFaceCoordinateArray) = 0; + IMPORT_C virtual void GetSingleFaceCoordinates(TInt aIndex, const TFileName aTNFileName, RArray& aFaceCoordinateArray) = 0; + IMPORT_C virtual void SetImageDataMode(TImageArrayMode aMode) = 0; + + IMPORT_C virtual void Stop() = 0; + IMPORT_C virtual TBool IsRunning() = 0; +}; + +#endif // __IEENGINE_H__