dependencies/AknsItemDef.h
author Christian Morlok <symbian.org@christianmorlok.de>
Thu, 06 May 2010 15:56:48 +0200
branchv5backport
changeset 67 35a198a504a8
parent 39 4e8bbb15b77a
permissions -rw-r--r--
updated dependencies; everything (hssrv and hs) compiles with winscw_udeb without error
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     1
/*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     2
* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     3
* All rights reserved.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     4
* This component and the accompanying materials are made available
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     6
* which accompanies this distribution, and is available
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     8
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
     9
* Initial Contributors:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    11
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    12
* Contributors:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    13
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    14
* Description:  ?Description
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    15
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    16
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    17
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    18
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    19
#ifndef AKNSITEMDEF_H
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    20
#define AKNSITEMDEF_H
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    21
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    22
//  INCLUDES
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    23
#include <AknsItemID.h>
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    24
#include <gdi.h>
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    25
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    26
// FORWARD DECLARATIONS
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    27
struct TAknsImageAttributeData;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    28
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    29
// CLASS DECLARATIONS
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    30
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    31
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    32
* Base class for item definitions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    33
* Item definition maps item ID specified as TAknsItemID to a specific resource
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    34
* (such as bitmap filename and index). Content of the definition varies 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    35
* depending of the type of the resource. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    36
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    37
* CAknsItemDef does not itself have any dynamically allocated members.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    38
* Therefore the members of its friend classes can instantiate CAknsItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    39
* into stack (e.g. to perform binary search with LineraOrder without heap 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    40
* allocation) using CAknsItemDef::CAknsItemDef(const TAknsItemID aID) 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    41
* constructor. Derived classes, however, require two-phased construction and 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    42
* proper destruction.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    43
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    44
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    45
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    46
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    47
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    48
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    49
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    50
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    51
class CAknsItemDef : public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    52
    {    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    53
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    54
    public: // Constructors and destructors        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    55
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    56
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    57
        * Two-phased constructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    58
        * Constructs item definition object with specified ID, item type
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    59
        * ::EAknsITUnknown and localization type ::EAknsIDLTDefault.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    60
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    61
        * @param aID Item ID of the newly created item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    62
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    63
        * @return Newly constructed CAknsItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    64
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    65
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    66
        *   If allocation fails, function leaves with a system-wide error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    67
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    68
        IMPORT_C static CAknsItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    69
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    70
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    71
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    72
        * Base-class destructor does nothing. It exists only to enable 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    73
        * destruction of derived objects using pointer to base class object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    74
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    75
        IMPORT_C virtual ~CAknsItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    76
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    77
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    78
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    79
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    80
        * Returns the item type of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    81
        * This method can be used to provide run-time type information.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    82
        * Corresponding classes are listed in definition of ::TAknsItemType.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    83
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    84
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    85
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    86
        * @return Type of the item definition as TAknsItemType.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    87
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    88
        IMPORT_C TAknsItemType Type() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    89
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    90
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    91
        * Returns the item ID of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    92
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    93
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    94
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    95
        * @return Item ID of the item definition as TAknsItemID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    96
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    97
        IMPORT_C TAknsItemID ID() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    98
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
    99
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   100
        * Determines the order of two CAknsItemDef objects.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   101
        * Order is determined based on the item ID of the object, as described
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   102
        * in TAknsItemID::LinearOrder().
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   103
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   104
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   105
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   106
        * @param aFirst First object to be compared.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   107
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   108
        * @param aSecond Second object to be compared.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   109
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   110
        * @return 0 if the two objects are equal, negative value if the first 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   111
        *   object is less than the second and positive value if the first 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   112
        *   object is greater than the second.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   113
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   114
        IMPORT_C static TInt LinearOrder( const CAknsItemDef& aFirst, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   115
            const CAknsItemDef& aSecond );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   116
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   117
    private: // Reserved exports
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   118
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   119
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   120
        * Reserved for future use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   121
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   122
        * @since 2.0        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   123
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   124
        IMPORT_C void Reserved1();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   125
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   126
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   127
        * Reserved for future use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   128
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   129
        * @since 2.0        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   130
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   131
        IMPORT_C void Reserved2();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   132
            
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   133
    protected: // C++ protected constructor for derived classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   134
                
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   135
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   136
        * C++ constructor for derived classes.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   137
        * Constructs item definition object with given item type and ID,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   138
        * and localization type ::EAknsIDLTDefault.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   139
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   140
        * @param aType Item type of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   141
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   142
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   143
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   144
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   145
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   146
        CAknsItemDef( const TAknsItemType aType, const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   147
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   148
    private: // C++ private constructor for friend classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   149
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   150
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   151
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   152
        * Constructs item definition object with specified ID and item type
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   153
        * ::EAknsITUnknown, and localization type ::EAknsIDLTDefault.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   154
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   155
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   156
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   157
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   158
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   159
        IMPORT_C CAknsItemDef( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   160
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   161
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   162
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   163
        TAknsItemType iType;            //!< Item type.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   164
        TAknsItemID iID;                //!< Item ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   165
        TInt iSpare1;                   //!< Reserved for future use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   166
        TInt iSpare2;                   //!< Reserved for future use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   167
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   168
    private:    // Friend classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   169
        friend class CAknsAppSkinInstance;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   170
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   171
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   172
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   173
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   174
* Image item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   175
* Image item definition consists of (in addition to base class data) 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   176
* image attributes and their values. Item type for image item definitions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   177
* is ::EAknsITImage
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   178
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   179
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   180
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   181
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   182
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   183
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   184
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   185
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   186
NONSHARABLE_CLASS(CAknsImageItemDef) : public CAknsItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   187
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   188
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   189
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   190
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   191
        * Two-phased constructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   192
        * Constructs a new image item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   193
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   194
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   195
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   196
        * @return Newly constructed CAknsImageItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   197
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   198
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   199
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   200
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   201
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   202
        IMPORT_C static CAknsImageItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   203
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   204
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   205
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   206
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   207
        virtual ~CAknsImageItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   208
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   209
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   210
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   211
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   212
        * Sets the image attributes for this image definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   213
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   214
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   215
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   216
        IMPORT_C void SetAttributesL( const TAknsImageAttributeData& aAttributes );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   217
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   218
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   219
        * Returns the image attributes for this image definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   220
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   221
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   222
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   223
        IMPORT_C const TAknsImageAttributeData* Attributes() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   224
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   225
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   226
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   227
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   228
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   229
        * Constructs an image item definition object with given ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   230
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   231
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   232
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   233
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   234
        *   ::EAknsITImage for CAknsImageItemDef objects, derived classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   235
        *   may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   236
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   237
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   238
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   239
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   240
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   241
        CAknsImageItemDef( const TAknsItemType aType, const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   242
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   243
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   244
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   245
        // Image attributes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   246
        TAknsImageAttributeData* iAttributeData;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   247
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   248
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   249
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   250
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   251
* Bitmap item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   252
* Bitmap item definition consists of (in addition to base class data) bitmap
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   253
* filename and index in bitmap file. Item type for bitmap item definitions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   254
* is always ::EAknsITBitmap.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   255
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   256
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   257
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   258
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   259
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   260
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   261
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   262
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   263
NONSHARABLE_CLASS(CAknsBitmapItemDef) : public CAknsImageItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   264
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   265
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   266
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   267
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   268
        * Two-phased constructor, complete initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   269
        * Constructs a new bitmap item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   270
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   271
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   272
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   273
        * @param aFilename Filename of the bitmap. Internal descriptor is
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   274
        *   constructed to point to the same data as the given one.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   275
        *   Ownership of the original descriptor stays with the caller and
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   276
        *   it must ensure that the lifetime of the descriptor is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   277
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   278
        * @param aIndex Index of the bitmap in the bitmap file.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   279
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   280
        * @return Newly constructed CAknsBitmapItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   281
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   282
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   283
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   284
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   285
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   286
        IMPORT_C static CAknsBitmapItemDef* NewL( const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   287
            const TDesC& aFilename, const TInt aIndex );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   288
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   289
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   290
        * Two-phased constructor, partial initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   291
        * Constructs a new bitmap item definition object. Bitmap filename
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   292
        * and index must be set by SetFilename or SetFilenameL and SetIndex.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   293
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   294
        * @param aID Item ID of the new object.        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   295
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   296
        * @return Newly constructed CAknsBitmapItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   297
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   298
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   299
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   300
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   301
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   302
        IMPORT_C static CAknsBitmapItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   303
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   304
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   305
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   306
        * Deletes the internal buffer reserved for bitmap filename.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   307
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   308
        virtual ~CAknsBitmapItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   309
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   310
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   311
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   312
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   313
        * Sets the filename, ownership of the descriptor stays with the caller.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   314
        * If CAknsBitmapItemDef object already owns a filename descriptor, it
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   315
        * is deleted.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   316
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   317
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   318
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   319
        * @param aFilename Reference to the descriptor containing new filename.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   320
        *   Caller still owns the descriptor and must ensure that its lifetime
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   321
        *   is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   322
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   323
        IMPORT_C void SetFilename( const TDesC& aFilename );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   324
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   325
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   326
        * Sets the filename, content of the descriptor is copied into an
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   327
        * internal buffer. If CAknsBitmapItemDef object already owns a filename 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   328
        * descriptor, it is deleted.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   329
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   330
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   331
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   332
        * @param aFilename Reference to the descriptor containing new filename.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   333
        *   Content of the descriptor is copied into an internal buffer owned
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   334
        *   by CAknsBitmapItemDef.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   335
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   336
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   337
        *   If allocation fails, function leaves with a system-wide error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   338
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   339
        IMPORT_C void SetFilenameL( const TDesC& aFilename );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   340
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   341
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   342
        * Returns a reference to filename of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   343
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   344
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   345
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   346
        * @return Reference to descriptor containing the filename. Lifetime of
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   347
        *   the descriptor may end when SetFilename or SetFilenameL is called 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   348
        *   or CAknsBitmapItemDef object is deleted.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   349
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   350
        IMPORT_C const TDesC& Filename() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   351
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   352
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   353
        * Sets bitmap file index of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   354
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   355
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   356
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   357
        * @param aIndex New index.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   358
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   359
        IMPORT_C void SetIndex( const TInt aIndex );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   360
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   361
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   362
        * Returns bitmap file index of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   363
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   364
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   365
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   366
        * @return Index of the bitmap (in the bitmap file) as integer value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   367
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   368
        IMPORT_C TInt Index() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   369
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   370
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   371
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   372
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   373
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   374
        * Constructs bitmap item definition object with given ID and bitmap
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   375
        * index. Filename needs to be set separately.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   376
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   377
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   378
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   379
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   380
        *   ::EAknsITBitmap for CAknsBitmapItemDef objects, derived classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   381
        *   may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   382
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   383
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   384
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   385
        * @param aIndex Index of the bitmap of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   386
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   387
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   388
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   389
        CAknsBitmapItemDef( const TAknsItemType aType, const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   390
            const TInt aIndex );    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   391
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   392
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   393
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   394
        TPtrC iFilename;        //!< Bitmap filename.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   395
        HBufC* iFilenameBuf;    //!< Internal filename buffer.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   396
        TInt iIndex;            //!< Index of bitmap in bitmap file.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   397
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   398
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   399
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   400
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   401
* Masked bitmap item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   402
* Masked bitmap item definition is derived from CAknsBitmapItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   403
* but additionally contains a second index specifying the mask.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   404
* Item type for masked bitmap item definitions is always ::EAknsITMaskedBitmap.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   405
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   406
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   407
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   408
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   409
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   410
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   411
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   412
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   413
NONSHARABLE_CLASS(CAknsMaskedBitmapItemDef) :public CAknsBitmapItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   414
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   415
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   416
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   417
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   418
        * Two-phased constructor, complete initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   419
        * Constructs a new masked bitmap item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   420
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   421
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   422
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   423
        * @param aFilename Filename of the bitmap. Internal descriptor is
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   424
        *   constructed to point to the same data as the given one.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   425
        *   Ownership of the original descriptor stays with the caller and
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   426
        *   it must ensure that the lifetime of the descriptor is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   427
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   428
        * @param aIndex Index of the bitmap in the bitmap file.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   429
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   430
        * @param aMaskIndex Index of the mask in the same bitmap file.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   431
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   432
        * @return Newly constructed CAknsMaskedBitmapItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   433
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   434
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   435
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   436
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   437
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   438
        IMPORT_C static CAknsMaskedBitmapItemDef* NewL( const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   439
            const TDesC& aFilename, const TInt aIndex, const TInt aMaskIndex );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   440
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   441
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   442
        * Two-phased constructor, partial initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   443
        * Constructs a new masked bitmap item definition object. Bitmap 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   444
        * filename and indices must be set by SetFilename or SetFilenameL,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   445
        * SetIndex and SetMaskIndex.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   446
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   447
        * @param aID Item ID of the new object.        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   448
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   449
        * @return Newly constructed CAknsMaskedBitmapItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   450
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   451
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   452
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   453
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   454
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   455
        IMPORT_C static CAknsMaskedBitmapItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   456
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   457
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   458
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   459
        * Provided for completeness, does not actually do anything.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   460
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   461
        virtual ~CAknsMaskedBitmapItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   462
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   463
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   464
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   465
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   466
        * Sets index of mask in the bitmap file for this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   467
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   468
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   469
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   470
        * @param aMaskIndex New index.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   471
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   472
        IMPORT_C void SetMaskIndex( const TInt aMaskIndex );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   473
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   474
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   475
        * Returns bitmap file index for bitmap mask.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   476
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   477
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   478
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   479
        * @return Index of the mask (in the bitmap file) as integer value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   480
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   481
        IMPORT_C TInt MaskIndex() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   482
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   483
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   484
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   485
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   486
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   487
        * Constructs masked bitmap item definition object with given ID and 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   488
        * bitmap indices. Filename needs to be set separately.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   489
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   490
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   491
        *   ::EAknsITMaskedBitmap for CAknsMaskedBitmapItemDef objects, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   492
        *   derived classes may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   493
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   494
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   495
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   496
        * @param aIndex Index of the bitmap of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   497
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   498
        * @param aMaskIndex Index of the bitmap mask of the new definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   499
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   500
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   501
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   502
        CAknsMaskedBitmapItemDef( const TAknsItemType aType, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   503
            const TAknsItemID& aID, const TInt aIndex, const TInt aMaskIndex );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   504
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   505
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   506
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   507
        TInt iMaskIndex; //!< Index of mask in bitmap file.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   508
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   509
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   510
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   511
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   512
* Data structure for color values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   513
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   514
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   515
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   516
* @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   517
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   518
struct TAknsColorTableEntry
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   519
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   520
    /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   521
    * Indexed color value, or -1 if RGB value is used instead.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   522
    */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   523
    TInt iIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   524
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   525
    /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   526
    * RGB-value, used only if iIndex is -1.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   527
    */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   528
    TUint32 iRgb;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   529
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   530
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   531
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   532
* Color table item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   533
* Color table item definition contains (in addition to base class data) an 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   534
* array of color values. Item type for color table item definitions is always 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   535
* ::EAknsITColorTable.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   536
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   537
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   538
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   539
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   540
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   541
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   542
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   543
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   544
NONSHARABLE_CLASS(CAknsColorTableItemDef) :public CAknsImageItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   545
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   546
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   547
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   548
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   549
        * Two-phased constructor, complete initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   550
        * Constructs a new color table item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   551
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   552
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   553
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   554
        * @param aNumberOfColors Number of colors available in aColors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   555
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   556
        * @param aColors Pointer to the first color. Internal pointer is set
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   557
        *   to point to the same place as the given one. Ownership of the 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   558
        *   color array stays with the caller and it must ensure that its 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   559
        *   lifetime is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   560
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   561
        * @return Newly constructed CAknsColorTableItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   562
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   563
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   564
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   565
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   566
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   567
        IMPORT_C static CAknsColorTableItemDef* NewL( const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   568
            const TInt aNumberOfColors, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   569
            const TAknsColorTableEntry *const aColors );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   570
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   571
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   572
        * Two-phased constructor, partial initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   573
        * Constructs a new color table item definition object. Colors must
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   574
        * be set separately by using SetColorsL or SetColors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   575
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   576
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   577
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   578
        * @return Newly constructed CAknsColorTableItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   579
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   580
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   581
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   582
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   583
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   584
        IMPORT_C static CAknsColorTableItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   585
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   586
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   587
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   588
        * If the object owns a color array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   589
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   590
        virtual ~CAknsColorTableItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   591
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   592
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   593
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   594
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   595
        * Sets the colors, ownership of the color array stays with the caller.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   596
        * If this object already owns a color array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   597
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   598
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   599
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   600
        * @param aNumberOfColors Number of colors in aColors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   601
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   602
        * @param aColors Pointer to the first color. The caller still owns
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   603
        *   the color array and must ensure that its lifetime is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   604
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   605
        IMPORT_C void SetColors( const TInt aNumberOfColors, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   606
            const TAknsColorTableEntry *const aColors );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   607
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   608
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   609
        * Sets the colors, content of the array is copied to an internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   610
        * array. If this object already owns a color array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   611
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   612
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   613
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   614
        * @param aNumberOfColors Number of colors in aColors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   615
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   616
        * @param aColors Pointer to the first color. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   617
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   618
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   619
        *   If allocation fails, returns with an error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   620
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   621
        IMPORT_C void SetColorsL( const TInt aNumberOfColors, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   622
            const TAknsColorTableEntry *const aColors );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   623
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   624
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   625
        * Returns pointer to color values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   626
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   627
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   628
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   629
        * @return Pointer to color values. The array is still owned by this 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   630
        *   object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   631
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   632
        IMPORT_C const TAknsColorTableEntry* Colors() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   633
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   634
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   635
        * Returns the number of colors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   636
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   637
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   638
        * 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   639
        * @return Number of colors.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   640
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   641
        IMPORT_C TInt NumberOfColors() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   642
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   643
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   644
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   645
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   646
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   647
        * Constructs color item definition object with given ID. Color
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   648
        * array must be set separately.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   649
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   650
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   651
        *   ::EAknsITColorTable for CAknsColorTableItemDef objects, derived 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   652
        *   classes may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   653
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   654
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   655
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   656
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   657
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   658
        CAknsColorTableItemDef( const TAknsItemType aType, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   659
            const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   660
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   661
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   662
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   663
        // Color array
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   664
        const TAknsColorTableEntry* iColorArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   665
        // Internal (owned) color array
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   666
        TAknsColorTableEntry* iInternalColorArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   667
        // Number of colors
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   668
        TInt iNumberOfColors;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   669
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   670
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   671
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   672
* Image table item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   673
* Image table item definition contains (in addition to base class data) 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   674
* an array containing image IDs. Item type for image table item definitions is
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   675
* always ::EAknsITImageTable.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   676
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   677
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   678
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   679
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   680
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   681
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   682
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   683
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   684
NONSHARABLE_CLASS(CAknsImageTableItemDef) : public CAknsImageItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   685
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   686
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   687
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   688
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   689
        * Two-phased constructor, complete initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   690
        * Constructs an image table item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   691
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   692
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   693
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   694
        * @param aNumberOfImages Number of entries in aImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   695
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   696
        * @param aImages Pointer to the first item ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   697
        *   An internal pointer is set to point to the same place as the 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   698
        *   given one. Ownership of the array stays with the caller and it 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   699
        *   must ensure that its lifetime is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   700
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   701
        * @return Newly constructed CAknsImageTableItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   702
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   703
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   704
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   705
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   706
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   707
        IMPORT_C static CAknsImageTableItemDef* NewL( const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   708
            const TInt aNumberOfImages, const TAknsItemID *const aImages );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   709
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   710
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   711
        * Two-phased constructor, partial initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   712
        * Constructs a new image table item definition object. Images must
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   713
        * be set separately by using SetImagesL or SetImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   714
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   715
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   716
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   717
        * @return Newly constructed CAknsImageTableItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   718
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   719
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   720
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   721
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   722
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   723
        IMPORT_C static CAknsImageTableItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   724
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   725
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   726
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   727
        * If the object owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   728
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   729
        virtual ~CAknsImageTableItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   730
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   731
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   732
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   733
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   734
        * Sets the images, ownership of the image item ID array stays with 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   735
        * the caller. If this object already owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   736
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   737
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   738
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   739
        * @param aNumberOfImages Number of images in aImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   740
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   741
        * @param aImages Pointer to the first TAknsItemID. The caller 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   742
        *   still owns the array and must ensure that its lifetime is 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   743
        *   appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   744
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   745
        IMPORT_C void SetImages( const TInt aNumberOfImages, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   746
            const TAknsItemID *const aImages );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   747
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   748
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   749
        * Sets the images, content of the array is copied to an internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   750
        * array. If this object already owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   751
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   752
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   753
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   754
        * @param aNumberOfImages Number of images in aImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   755
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   756
        * @param aImages Pointer to the first image item ID. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   757
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   758
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   759
        *   If allocation fails, returns with an error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   760
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   761
        IMPORT_C void SetImagesL( const TInt aNumberOfImages, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   762
            const TAknsItemID *const aImages );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   763
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   764
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   765
        * Returns pointer to the first element of the image array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   766
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   767
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   768
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   769
        * @return Pointer to the first entry. The array is still owned 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   770
        *   by this object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   771
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   772
        IMPORT_C const TAknsItemID* Images() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   773
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   774
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   775
        * Returns the number of images.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   776
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   777
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   778
        * 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   779
        * @return Number of images.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   780
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   781
        IMPORT_C TInt NumberOfImages() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   782
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   783
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   784
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   785
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   786
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   787
        * Constructs image table item definition object with given ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   788
        * The image array must be set separately.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   789
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   790
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   791
        *   ::EAknsITImageTable for CAknsImageTableItemDef objects, derived 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   792
        *   classes may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   793
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   794
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   795
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   796
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   797
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   798
        CAknsImageTableItemDef( const TAknsItemType aType, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   799
            const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   800
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   801
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   802
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   803
        const TAknsItemID* iImageArray;     //!< Image ID array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   804
        TAknsItemID* iInternalImageArray;   //!< Internal (owned) image ID array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   805
        TInt iNumberOfImages;               //!< Number of images in the array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   806
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   807
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   808
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   809
* Data structure for animation frame properties.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   810
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   811
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   812
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   813
* @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   814
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   815
struct TAknsBmpAnimFrameInfo
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   816
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   817
    /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   818
    * Frame time in milliseconds or -1 if not defined.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   819
    */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   820
    TInt16 iTime;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   821
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   822
    /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   823
    * Frame position X-coordinate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   824
    */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   825
    TInt16 iPosX;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   826
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   827
    /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   828
    * Frame position Y-coordinate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   829
    */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   830
    TInt16 iPosY;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   831
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   832
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   833
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   834
* Bitmap animation item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   835
* Bitmap animationitem definition contains (in addition to base class data) 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   836
* animation properties and an array containing frame properties.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   837
* Item type for image table item definitions is
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   838
* always ::EAknsITBmpAnim.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   839
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   840
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   841
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   842
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   843
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   844
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   845
* @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   846
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   847
NONSHARABLE_CLASS(CAknsBmpAnimItemDef) : public CAknsImageTableItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   848
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   849
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   850
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   851
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   852
        * Two-phased constructor, complete initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   853
        * Constructs a bitmap animation item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   854
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   855
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   856
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   857
        * @param aNumberOfImages Number of entries in aImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   858
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   859
        * @param aImages Pointer to the first item ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   860
        *   An internal pointer is set to point to the same place as the 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   861
        *   given one. Ownership of the array stays with the caller and it 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   862
        *   must ensure that its lifetime is appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   863
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   864
        * @param aFrameInfos Pointer to the first frame info.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   865
        *   Ownership is handled as with aImages.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   866
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   867
        * @return Newly constructed CAknsBmpAnimItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   868
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   869
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   870
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   871
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   872
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   873
        IMPORT_C static CAknsBmpAnimItemDef* NewL( const TAknsItemID& aID, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   874
            const TInt aNumberOfImages, const TAknsItemID *const aImages,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   875
            const TAknsBmpAnimFrameInfo *const aFrameInfos );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   876
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   877
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   878
        * Two-phased constructor, partial initialization.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   879
        * Constructs a new bitmap animation item definition object. Images must
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   880
        * be set separately by using SetImagesL and SetFrameInfosL or SetImages
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   881
        * and SetFrameInfos.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   882
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   883
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   884
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   885
        * @return Newly constructed CAknsBmpAnimItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   886
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   887
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   888
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   889
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   890
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   891
        IMPORT_C static CAknsBmpAnimItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   892
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   893
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   894
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   895
        * If the object owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   896
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   897
        virtual ~CAknsBmpAnimItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   898
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   899
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   900
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   901
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   902
        * Sets frame properties, ownership of the frame info array stays with 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   903
        * the caller. If this object already owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   904
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   905
        * The number of frame info objects in the array must match the number
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   906
        * of images. This implies that SetFrameInfos can not be called before
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   907
        * images have been set.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   908
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   909
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   910
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   911
        * @param aFrameInfos Pointer to the first TAknsBmpAnimFrameInfo. The 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   912
        *   caller still owns the array and must ensure that its lifetime is 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   913
        *   appropriate.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   914
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   915
        IMPORT_C void SetFrameInfos( 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   916
            const TAknsBmpAnimFrameInfo *const aFrameInfos );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   917
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   918
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   919
        * Sets frame propertis, content of the array is copied to an internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   920
        * array. If this object already owns an array, it is destroyed.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   921
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   922
        * The number of frame info objects in the array must match the number
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   923
        * of images. This implies that SetFrameInfosL can not be called before
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   924
        * images have been set.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   925
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   926
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   927
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   928
        * @param aFrameInfos Pointer to the first TAknsBmpAnimFrameInfo. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   929
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   930
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   931
        *   If allocation fails, returns with an error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   932
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   933
        IMPORT_C void SetFrameInfosL(
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   934
            const TAknsBmpAnimFrameInfo *const aFrameInfos );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   935
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   936
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   937
        * Returns pointer to the first element of the frame info array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   938
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   939
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   940
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   941
        * @return Pointer to the first entry. The array is still owned 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   942
        *   by this object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   943
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   944
        IMPORT_C const TAknsBmpAnimFrameInfo* FrameInfos() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   945
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   946
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   947
        * Sets the flag indicating whether the last frame should be
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   948
        * interpreted as the background (i.e. excluded from the animation
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   949
        * itself).
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   950
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   951
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   952
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   953
        * @param aLastFrameBg Boolean value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   954
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   955
        IMPORT_C void SetLastFrameBackground( TBool aLastFrameBg );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   956
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   957
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   958
        * Retrieves the flag value indicating whether the last frame
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   959
        * should be interpreted as the background.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   960
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   961
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   962
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   963
        * @return Boolean value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   964
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   965
        IMPORT_C TBool LastFrameBackground() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   966
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   967
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   968
        * Sets the frame interval for the entire animation.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   969
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   970
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   971
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   972
        * @param aFrameInterval Frame interval in milliseconds or -1.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   973
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   974
        IMPORT_C void SetFrameInterval( const TInt16 aFrameInterval );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   975
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   976
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   977
        * Retrieves the frame interval.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   978
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   979
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   980
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   981
        * @return Frame interval in milliseconds or -1.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   982
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   983
        IMPORT_C TInt16 FrameInterval() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   984
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   985
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   986
        * Sets the play mode for the entire animation.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   987
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   988
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   989
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   990
        * @param aPlayMode Play mode.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   991
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   992
        IMPORT_C void SetPlayMode( const TInt16 aPlayMode );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   993
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   994
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   995
        * Retrieves the play mode.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   996
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   997
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   998
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
   999
        * @return Play mode.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1000
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1001
        IMPORT_C TInt16 PlayMode() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1002
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1003
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1004
        * Sets the flash property for the entire animation.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1005
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1006
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1007
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1008
        * @param aFlash Flash flag value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1009
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1010
        IMPORT_C void SetFlash( const TBool aFlash );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1011
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1012
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1013
        * Retrieves the flash property.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1014
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1015
        * @since 2.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1016
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1017
        * @return Flash flag value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1018
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1019
        IMPORT_C TBool Flash() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1020
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1021
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1022
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1023
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1024
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1025
        * Constructs bitmap animation item definition object with given ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1026
        * The image array and frame properties must be set separately.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1027
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1028
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1029
        *   ::EAknsITBmpAnim for CAknsBmpAnimItemDef objects, derived 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1030
        *   classes may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1031
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1032
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1033
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1034
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1035
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1036
        CAknsBmpAnimItemDef( const TAknsItemType aType, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1037
            const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1038
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1039
    protected: // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1040
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1041
        const TAknsBmpAnimFrameInfo* iFrameArray;   //!< Frame array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1042
        TAknsBmpAnimFrameInfo* iInternalFrameArray; //!< Internal (owned) image frame array.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1043
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1044
        TBool iLastFrameBackground; //!< Last frame used as background flag.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1045
        TInt16 iFrameInterval;  //!< Frame interval.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1046
        TInt16 iPlayMode;       //!< Play mode.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1047
        TBool iFlash;           //!< Flash flag.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1048
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1049
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1050
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1051
* String item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1052
* String item definition consists of (in addition to base class data) 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1053
* a single string value. Item type for string item definitions is 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1054
* ::EAknsITString
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1055
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1056
* This is a public class with exported functions.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1057
* The class is not intended for derivation outside the library.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1058
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1059
* @lib AknSkinSrv.lib
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1060
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1061
* @since 2.6
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1062
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1063
NONSHARABLE_CLASS(CAknsStringItemDef) : public CAknsItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1064
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1065
    public:  // Constructors and destructor        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1066
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1067
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1068
        * Two-phased constructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1069
        * Constructs a new string item definition object. 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1070
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1071
        * @since 2.6
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1072
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1073
        * @param aID Item ID of the new object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1074
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1075
        * @return Newly constructed CAknsStringItemDef object.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1076
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1077
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1078
        *   If allocation fails, function leaves with a system-wide error 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1079
        *   code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1080
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1081
        IMPORT_C static CAknsStringItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1082
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1083
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1084
        * Destructor.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1085
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1086
        virtual ~CAknsStringItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1087
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1088
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1089
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1090
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1091
        * Sets the string, content of the descriptor is copied into an
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1092
        * internal buffer. If CAknsStringItemDef object already owns a filename
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1093
        * descriptor, it is deleted.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1094
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1095
        * @since 2.6
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1096
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1097
        * @param aString Reference to the descriptor containing new value.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1098
        *   Content of the descriptor is copied into an internal buffer owned
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1099
        *   by CAknsStringItemDef.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1100
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1101
        * @par Exceptions:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1102
        *   If allocation fails, function leaves with a system-wide error code.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1103
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1104
        IMPORT_C void SetStringL( const TDesC& aString );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1105
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1106
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1107
        * Returns a reference to the string value of this item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1108
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1109
        * @since 2.6
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1110
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1111
        * @return Reference to descriptor containing the value. Lifetime of
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1112
        *   the descriptor may end when SetStringL is called 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1113
        *   or CAknsStringItemDef object is deleted.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1114
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1115
        IMPORT_C const TDesC& String() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1116
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1117
    protected: // C++ protected constructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1118
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1119
        /**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1120
        * C++ constructor for internal use.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1121
        * Constructs an string item definition object with given ID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1122
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1123
        * @since 2.6
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1124
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1125
        * @param aType Type of the definition object. While this is always
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1126
        *   ::EAknsITString for CAknsStringItemDef objects, derived classes
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1127
        *   may specify other values.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1128
        *
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1129
        * @param aID Item ID of the new item definition.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1130
        *        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1131
        * @internal
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1132
        */
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1133
        CAknsStringItemDef( const TAknsItemType aType, const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1134
    
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1135
    protected:  // Data
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1136
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1137
        HBufC* iString; // String value, owned
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1138
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1139
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1140
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1141
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1142
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1143
* @since 2.8
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1144
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1145
NONSHARABLE_CLASS(CAknsEffectParamDef) : public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1146
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1147
    public:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1148
        IMPORT_C static CAknsEffectParamDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1149
        virtual ~CAknsEffectParamDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1150
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1151
    public:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1152
        IMPORT_C void SetType(TUint32 aType);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1153
        IMPORT_C TUint32 GetType();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1154
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1155
        IMPORT_C void SetNameL(const TDesC& aName);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1156
        IMPORT_C const TDesC* GetName();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1157
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1158
        IMPORT_C void SetValue(TUint32 aParam);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1159
        IMPORT_C void SetValueL(const TDesC& aParam);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1160
        IMPORT_C void SetValueL(const TDesC& aFilename, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1161
            TUint32 aBitmapIndex, TUint32 aMaskIndex);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1162
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1163
        IMPORT_C TUint32 GetNumber();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1164
        IMPORT_C const TDesC* GetString();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1165
        IMPORT_C const TDesC* GetFilename();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1166
        IMPORT_C TUint32 GetBitmapIndex();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1167
        IMPORT_C TUint32 GetMaskIndex();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1168
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1169
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1170
        CAknsEffectParamDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1171
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1172
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1173
        TUint32 iParamType;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1174
        TUint32 iParam;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1175
        TUint32 iBitmapIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1176
        TUint32 iMaskIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1177
        HBufC* iParamName;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1178
        HBufC* iParamString;       
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1179
        HBufC* iFilename;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1180
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1181
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1182
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1183
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1184
* @since 2.8
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1185
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1186
NONSHARABLE_CLASS(CAknsEffectItemDef) : public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1187
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1188
    public:  
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1189
        IMPORT_C static CAknsEffectItemDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1190
        virtual ~CAknsEffectItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1191
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1192
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1193
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1194
        IMPORT_C void SetEffectUid( const TUid aUid );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1195
        IMPORT_C TUid EffectUid() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1196
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1197
        IMPORT_C void AddParameterL(CAknsEffectParamDef* aParam);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1198
        IMPORT_C CAknsEffectParamDef* GetParameter(TInt32 aIndex) const ;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1199
        IMPORT_C TInt ParameterCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1200
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1201
        IMPORT_C void SetLayerIndexesAndModes(
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1202
            TUint32 aInputLayerAIndex, TUint32 aInputLayerAMode,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1203
            TUint32 aInputLayerBIndex, TUint32 aInputLayerBMode,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1204
            TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1205
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1206
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1207
        CAknsEffectItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1208
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1209
    public:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1210
        TUint32 iInputLayerAIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1211
        TUint32 iInputLayerAMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1212
        TUint32 iInputLayerBIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1213
        TUint32 iInputLayerBMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1214
        TUint32 iOutputLayerIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1215
        TUint32 iOutputLayerMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1216
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1217
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1218
        TUid iUid; //!< Effect UID.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1219
        RPointerArray<CAknsEffectParamDef> iParamArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1220
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1221
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1222
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1223
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1224
* @since 2.8
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1225
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1226
NONSHARABLE_CLASS(CAknsEffectQueueItemDef) : public CAknsItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1227
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1228
    public:  // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1229
        IMPORT_C static CAknsEffectQueueItemDef* NewL(const TAknsItemID& aID);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1230
        virtual ~CAknsEffectQueueItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1231
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1232
    public: 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1233
        IMPORT_C void AddEffectL(CAknsEffectItemDef* aItemDef);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1234
        IMPORT_C CAknsEffectItemDef* GetEffect( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1235
        IMPORT_C TUint32 EffectCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1236
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1237
        IMPORT_C void SetLayerIndexesAndModes(
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1238
            TUint32 aInputLayerIndex, TUint32 aInputLayerMode,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1239
            TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1240
        IMPORT_C void SetReference(const TAknsItemID& aID);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1241
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1242
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1243
        CAknsEffectQueueItemDef( const TAknsItemType aType, 
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1244
            const TAknsItemID& aID);
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1245
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1246
    public:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1247
        TUint32 iInputLayerIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1248
        TUint32 iInputLayerMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1249
        TUint32 iOutputLayerIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1250
        TUint32 iOutputLayerMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1251
        TAknsItemID iReference;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1252
        
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1253
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1254
        RPointerArray<CAknsEffectItemDef> iEffectArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1255
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1256
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1257
// =============================================================================
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1258
// Animation related definitions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1259
// =============================================================================
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1260
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1261
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1262
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1263
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1264
class CAknsSizeBoundParamDef: public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1265
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1266
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1267
        IMPORT_C static CAknsSizeBoundParamDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1268
        virtual ~CAknsSizeBoundParamDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1269
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1270
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1271
        IMPORT_C void SetDataL( const TDesC& aName,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1272
                                TUint32 aAnimationValueId,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1273
                                TUint32 aParamFlags );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1274
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1275
        IMPORT_C const TDesC* Name() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1276
        IMPORT_C TUint32 AnimationValueId() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1277
        IMPORT_C TUint32 ParamFlags() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1278
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1279
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1280
        CAknsSizeBoundParamDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1281
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1282
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1283
        TDesC* iName;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1284
        TUint32 iAnimationValueId;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1285
        TUint32 iParamFlags;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1286
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1287
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1288
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1289
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1290
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1291
class CAknsNamedReferenceDef: public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1292
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1293
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1294
        IMPORT_C static CAknsNamedReferenceDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1295
        virtual ~CAknsNamedReferenceDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1296
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1297
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1298
        IMPORT_C void SetDataL( const TDesC& aName,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1299
                                TUint32 aAnimationValueId );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1300
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1301
        IMPORT_C const TDesC* Name() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1302
        IMPORT_C TUint32 AnimationValueId() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1303
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1304
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1305
        CAknsNamedReferenceDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1306
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1307
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1308
        TDesC* iName;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1309
        TUint32 iAnimationValueId;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1310
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1311
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1312
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1313
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1314
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1315
class CAknsTimingModelDef: public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1316
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1317
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1318
        IMPORT_C static CAknsTimingModelDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1319
        virtual ~CAknsTimingModelDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1320
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1321
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1322
        IMPORT_C void SetTimingModelUid( const TUid aUid );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1323
        IMPORT_C TUid TimingModelUid() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1324
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1325
        IMPORT_C void AddParameterL( CAknsEffectParamDef* aParam );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1326
        IMPORT_C CAknsEffectParamDef* Parameter( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1327
        IMPORT_C TInt ParameterCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1328
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1329
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1330
        CAknsTimingModelDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1331
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1332
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1333
        TUid iTimingModelUid;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1334
        RPointerArray<CAknsEffectParamDef> iParamArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1335
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1336
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1337
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1338
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1339
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1340
class CAknsAnimationValueDef: public CBase
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1341
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1342
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1343
        IMPORT_C static CAknsAnimationValueDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1344
        virtual ~CAknsAnimationValueDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1345
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1346
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1347
        IMPORT_C void SetAnimationValueUid( const TUid aUid );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1348
        IMPORT_C TUid AnimationValueUid() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1349
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1350
        IMPORT_C void SetTimingModelId( TUint32 aId );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1351
        IMPORT_C TUint32 TimingModelId() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1352
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1353
        IMPORT_C void AddParameterL( CAknsEffectParamDef* aParam );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1354
        IMPORT_C CAknsEffectParamDef* Parameter( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1355
        IMPORT_C TInt ParameterCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1356
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1357
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1358
        CAknsAnimationValueDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1359
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1360
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1361
        TUid iAnimationValueUid;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1362
        TUint32 iTimingModelId;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1363
        RPointerArray<CAknsEffectParamDef> iParamArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1364
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1365
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1366
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1367
* Note inheritance relationship with CAknsEffectItemDef.
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1368
*
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1369
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1370
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1371
class CAknsAnimationCommandItemDef: public CAknsEffectItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1372
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1373
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1374
        IMPORT_C static CAknsAnimationCommandItemDef* NewL();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1375
        virtual ~CAknsAnimationCommandItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1376
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1377
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1378
        IMPORT_C void AddNamedReferenceL( CAknsNamedReferenceDef* aRef );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1379
        IMPORT_C CAknsNamedReferenceDef* NamedReference( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1380
        IMPORT_C TInt NamedReferenceCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1381
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1382
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1383
        CAknsAnimationCommandItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1384
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1385
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1386
        RPointerArray<CAknsNamedReferenceDef> iNamedReferenceArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1387
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1388
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1389
/**
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1390
* @since 3.0
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1391
*/
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1392
class CAknsAnimationItemDef: public CAknsItemDef
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1393
    {
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1394
    public: // Constructors and destructor
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1395
        IMPORT_C static CAknsAnimationItemDef* NewL( const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1396
        virtual ~CAknsAnimationItemDef();
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1397
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1398
    public: // New functions
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1399
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1400
        IMPORT_C void SetLayerIndexesAndModes(
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1401
            TUint32 aInputLayerIndex, TUint32 aInputLayerMode,
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1402
            TUint32 aOutputLayerIndex, TUint32 aOutputLayerMode );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1403
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1404
        IMPORT_C void SetMinInterval( TUint32 aMinInterval );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1405
        IMPORT_C TUint32 MinInterval() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1406
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1407
        IMPORT_C void SetMorphing( TBool aMorphing );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1408
        IMPORT_C TBool Morphing() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1409
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1410
        IMPORT_C void AddPreprocessCommandL( CAknsEffectItemDef* aItemDef );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1411
        IMPORT_C CAknsEffectItemDef* PreprocessCommand( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1412
        IMPORT_C TInt PreprocessCommandCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1413
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1414
        IMPORT_C void AddAnimationCommandItemL( CAknsAnimationCommandItemDef* aCommand );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1415
        IMPORT_C CAknsAnimationCommandItemDef* AnimationCommandItem( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1416
        IMPORT_C TInt AnimationCommandItemCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1417
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1418
        IMPORT_C void AddAnimationValueL( CAknsAnimationValueDef* aValue );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1419
        IMPORT_C CAknsAnimationValueDef* AnimationValue( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1420
        IMPORT_C TInt AnimationValueCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1421
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1422
        IMPORT_C void AddTimingModelL( CAknsTimingModelDef* aModel );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1423
        IMPORT_C CAknsTimingModelDef* TimingModel( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1424
        IMPORT_C TInt TimingModelCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1425
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1426
        IMPORT_C void AddSizeBoundParamL( CAknsSizeBoundParamDef* aParam );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1427
        IMPORT_C CAknsSizeBoundParamDef* SizeBoundParam( TInt32 aIndex ) const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1428
        IMPORT_C TInt SizeBoundParamCount() const;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1429
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1430
    protected:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1431
        CAknsAnimationItemDef( const TAknsItemType aType, const TAknsItemID& aID );
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1432
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1433
    public:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1434
        TUint32 iInputLayerIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1435
        TUint32 iInputLayerMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1436
        TUint32 iOutputLayerIndex;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1437
        TUint32 iOutputLayerMode;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1438
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1439
    private:
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1440
        TUint32 iMinInterval;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1441
        TBool iMorphing;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1442
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1443
        RPointerArray<CAknsEffectItemDef> iPreprocessCommandArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1444
        RPointerArray<CAknsAnimationCommandItemDef> iCommandArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1445
        RPointerArray<CAknsAnimationValueDef> iAnimationValueArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1446
        RPointerArray<CAknsTimingModelDef> iTimingModelArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1447
        RPointerArray<CAknsSizeBoundParamDef> iSizeBoundParamArray;
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1448
    };
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1449
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1450
#endif // AKNSITEMDEF_H
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1451
4e8bbb15b77a added files required to compile homescreen
kashif.sayed
parents:
diff changeset
  1452
// End of File