uifw/EikStd/coctlinc/aknbitmapresourceitem.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/EikStd/coctlinc/aknbitmapresourceitem.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Bitmap resource item
+*
+*/
+
+
+
+#ifndef C_AKNBITMAPRESOURCEITEM_H
+#define C_AKNBITMAPRESOURCEITEM_H
+
+
+#include <e32def.h>
+#include <e32base.h>
+
+#include "aknresourceitem.h"
+
+class CFbsBitmap;
+
+/**
+*  The bitmap resource item class.
+*
+*  Resource item for storing a RGB bitmap and a bitmap mask.
+*  Implements the MAknResourceItem interface.
+*
+*  @lib eikcoctl
+*  @since S60 v5.0
+*/
+NONSHARABLE_CLASS( CAknBitmapResourceItem ) : public CBase, public MAknResourceItem
+    {
+
+public:
+
+    /**
+     * NewL.
+     * Two-phased constructor.
+     * @return a pointer to the created instance of CAknBitmapResourceItem.
+     */
+    static CAknBitmapResourceItem* NewL( TInt aId );
+
+    /**
+     * ~CAknBitmapResourceItem
+     * Virtual Destructor.
+     */
+    virtual ~CAknBitmapResourceItem();
+
+    /**
+     * Used to fetch the bitmaps (resources) this item holds.
+     * The ownership of the bitmaps changes with this
+     * method call, so caller must take care of the bitmaps destruction.
+     * @param aBitmap Pointer to RGB bitmap
+     * @param aMask Pointer to bitmap mask
+     * @return ETrue if the bitmaps were found and valid.
+     */
+    TBool GetBitmaps( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
+
+    /**
+     * Sets the bitmaps of this item.
+     * The ownership of the parameter bitmaps does not change
+     * with this method call, instead new bitmaps are created with parameter
+     * bitmaps handles. So caller must take care of the parameter bitmaps
+     * destruction.
+     * @param aBitmap Pointer to RGB bitmap
+     * @param aMask Pointer to bitmap mask
+     */
+    void SetBitmapsL( CFbsBitmap* aBitmap, CFbsBitmap* aMask );
+
+// from base class MAknResourceItem
+
+    /**
+     * From MAknResourceItem.
+     * Duplicates the item and the resources it holds
+     * and returns the created resource item.
+     * @return Duplication result.
+     */
+    MAknResourceItem* DuplicateL();
+
+    /**
+     * From MAknResourceItem.
+     * Returns the resource item id.
+     * @return Resource item id.
+     */
+    TInt Id() const;
+
+    /**
+     * From MAknResourceItem.
+     * Returns ETrue if the aType resource change applies
+     * to this resource item. Otherwise EFalse.
+     * @param aType Resource change type
+     * @return ETrue if resource change applies to 
+     * the resource item.
+     */
+    TBool Invalidate( TInt aType );
+
+private:
+
+    /**
+     * CAknBitmapResourceItem.
+     * C++ default constructor.
+     */
+    CAknBitmapResourceItem( TInt aId );
+
+private: // data
+
+    /**
+     * Pointer to RGB resource bitmap.
+     * Own.
+     */
+    CFbsBitmap* iBitmap;
+
+    /**
+     * Pointer to resource bitmap mask.
+     * Own.
+     */
+    CFbsBitmap* iBitmapMask;
+
+    /**
+     * Resource id.
+     */
+    TInt iId;
+
+    };
+
+#endif // C_AKNBITMAPRESOURCEITEM_H