diff -r e1e28b0273b0 -r 93fff7023be8 Common/Inc/IEImageData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Common/Inc/IEImageData.h Fri Oct 15 10:18:29 2010 +0900 @@ -0,0 +1,98 @@ +/* +* 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 __IEIMAGEDATA_H__ +#define __IEIMAGEDATA_H__ + +// Include files +#include +#include + +class HGridData + { +public: + TBool iCorrupted; + float iRotationAngle; // rotation angle of one image + float iTargetRotationAngle; // target rotation angle of one image + float iX, iY, iZ; // OpenGL coordinates + float iScale; // OpenGL iScale + TUint iGlLQ32TextIndex; // OpenGL 128x128 texture index + TUint iGlLQ128TextIndex; // OpenGL 128x128 texture index + TUint iGlHQ512TextIndex; // OpenGL 512x512 texture index + TUint iGlSuperHQTextIndex; // OpenGL 2048x2048 texture index + + // Returns opengl index for best quality image that has been loaded + inline TUint BestImage(void) + { + if (iGlSuperHQTextIndex!=0) + return iGlSuperHQTextIndex; + if (iGlHQ512TextIndex!=0) + return iGlHQ512TextIndex; + if (iGlLQ128TextIndex!=0) + return iGlLQ128TextIndex; + if (iGlLQ32TextIndex!=0) + return iGlLQ32TextIndex; + return 0; + } + }; + + +class CImageData + { +public: + IMPORT_C static CImageData* NewL(TUint32 aImagesReady = 0); + IMPORT_C ~CImageData(); + +protected: + TReal iAspectRatio; + TSize iSize; + TTime iFileTime, iCreatedTime; + HBufC* iPath; + HBufC* iFileName; + TUint16 iImagesReady; + TUint16 iOrientation; + TInt iNumberOfFaces; + + void ConstructL(TUint32 aImagesReady); + TBool IsCreatedTimeSet() const; + CImageData(); + +public: + HGridData iGridData; + TInt iPersonId; // TODO temp solution, -1 = no person + + IMPORT_C void GetFileName(TFileName & aFullFileName, TThumbSize aSize) const; + IMPORT_C void GetPath(TFileName & aPath) const; + IMPORT_C void GetFileName(TFileName & aFileName) const; + IMPORT_C void SetFileNameL(const TFileName & aFullFileName); + IMPORT_C TBool IsImageReady(TThumbSize aSize) const; + IMPORT_C void SetImageReady(TThumbSize aSize, TBool bReady); + IMPORT_C const TReal GetAspectRatio() const; + IMPORT_C void SetSize(const TSize aSize); + IMPORT_C TSize GetSize() const; + IMPORT_C const TTime & GetFileTime() const; + IMPORT_C void SetFileTime(const TTime & aTime); + IMPORT_C const TTime & GetCreatedTime() const; + IMPORT_C void SetCreatedTime(const TTime & aTime); + IMPORT_C TUint16 GetOrientation() const; + IMPORT_C void SetOrientation(TUint16 aOrientation); + IMPORT_C TInt GetNumberOfFaces() const; + IMPORT_C void SetNumberOfFaces(TInt aValue); + IMPORT_C TBool IsSamePath(CImageData& aImageData) const; + }; + +#endif // __IEIMAGEDATA_H__