Common/Inc/IEImageData.h
author jkauppin
Fri, 15 Oct 2010 10:18:29 +0900
changeset 3 93fff7023be8
permissions -rw-r--r--
Initial version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     1
/*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     3
* All rights reserved.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     4
* This component and the accompanying materials are made available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     6
* which accompanies this distribution, and is available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     8
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     9
* Initial Contributors:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    11
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    12
* Contributors: Juha Kauppinen, Mika Hokkanen
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    13
* 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    14
* Description: Photo Browser
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    15
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    16
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    17
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    18
#ifndef __IEIMAGEDATA_H__
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    19
#define __IEIMAGEDATA_H__
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    20
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    21
// Include files
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    22
#include <e32base.h> 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    23
#include <IEImage.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    24
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    25
class HGridData
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    26
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    27
public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    28
    TBool       iCorrupted;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    29
    float       iRotationAngle; // rotation angle of one image
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    30
    float       iTargetRotationAngle; // target rotation angle of one image
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    31
    float       iX, iY, iZ; // OpenGL coordinates
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    32
    float       iScale; // OpenGL iScale
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    33
    TUint       iGlLQ32TextIndex; // OpenGL 128x128 texture index
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    34
    TUint       iGlLQ128TextIndex; // OpenGL 128x128 texture index
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    35
    TUint       iGlHQ512TextIndex; // OpenGL 512x512 texture index
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    36
    TUint       iGlSuperHQTextIndex; // OpenGL 2048x2048 texture index
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    37
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    38
    // Returns opengl index for best quality image that has been loaded
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    39
    inline TUint BestImage(void)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    40
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    41
        if (iGlSuperHQTextIndex!=0)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    42
            return iGlSuperHQTextIndex;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    43
        if (iGlHQ512TextIndex!=0)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    44
            return iGlHQ512TextIndex;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    45
        if (iGlLQ128TextIndex!=0)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    46
            return iGlLQ128TextIndex;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    47
        if (iGlLQ32TextIndex!=0)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    48
            return iGlLQ32TextIndex;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    49
        return 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    50
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    51
    };
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    52
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    53
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    54
class CImageData
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    55
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    56
public:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    57
    IMPORT_C static CImageData* NewL(TUint32 aImagesReady = 0);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    58
    IMPORT_C ~CImageData();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    59
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    60
protected:    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    61
    TReal       iAspectRatio; 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    62
    TSize       iSize;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    63
    TTime       iFileTime, iCreatedTime;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    64
    HBufC*      iPath;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    65
    HBufC*      iFileName;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    66
    TUint16     iImagesReady;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    67
    TUint16     iOrientation;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    68
    TInt        iNumberOfFaces;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    69
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    70
    void ConstructL(TUint32 aImagesReady);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    71
    TBool IsCreatedTimeSet() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    72
    CImageData();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    73
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    74
public:    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    75
    HGridData   iGridData;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    76
    TInt        iPersonId;  // TODO temp solution, -1 = no person
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    77
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    78
    IMPORT_C void GetFileName(TFileName & aFullFileName, TThumbSize aSize) const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    79
    IMPORT_C void GetPath(TFileName & aPath) const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    80
    IMPORT_C void GetFileName(TFileName & aFileName) const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    81
    IMPORT_C void SetFileNameL(const TFileName & aFullFileName);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    82
    IMPORT_C TBool IsImageReady(TThumbSize aSize) const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    83
    IMPORT_C void SetImageReady(TThumbSize aSize, TBool bReady);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    84
    IMPORT_C const TReal GetAspectRatio() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    85
    IMPORT_C void SetSize(const TSize aSize);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    86
    IMPORT_C TSize GetSize() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    87
    IMPORT_C const TTime & GetFileTime() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    88
    IMPORT_C void SetFileTime(const TTime & aTime);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    89
    IMPORT_C const TTime & GetCreatedTime() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    90
    IMPORT_C void SetCreatedTime(const TTime & aTime);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    91
    IMPORT_C TUint16 GetOrientation() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    92
    IMPORT_C void SetOrientation(TUint16 aOrientation);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    93
    IMPORT_C TInt GetNumberOfFaces() const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    94
    IMPORT_C void SetNumberOfFaces(TInt aValue);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    95
    IMPORT_C TBool IsSamePath(CImageData& aImageData) const;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    96
    };  
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    97
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    98
#endif // __IEIMAGEDATA_H__