uifw/EikStd/coctlinc/AknDoubleSpanScrollIndicatorItem.h
changeset 0 2f259fa3e83a
child 3 8ca85d2f0db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/EikStd/coctlinc/AknDoubleSpanScrollIndicatorItem.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2004 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:  Indicator item for double span scroll bar.
+*    
+*
+*/
+
+
+#ifndef __AKNDOUBLESPANSCROLLINDICATORITEM_H
+#define __AKNDOUBLESPANSCROLLINDICATORITEM_H
+
+#include <e32base.h>
+#include <AknsItemID.h>
+
+class MAknsSkinInstance;
+class CFbsBitmap;
+
+NONSHARABLE_CLASS(CAknDoubleSpanScrollIndicatorItem) : public CBase
+	{
+public: // public construction and destruction methods
+   
+   /**
+    * Two-phased constructor.
+    *
+    * @since    2.6
+    * @return   Newly constructed object.
+    */
+    static CAknDoubleSpanScrollIndicatorItem* NewL(TBool aRotated,
+        TAknsItemID aTopItem,
+        TInt        aTopItemBitmapId,
+        TInt        aTopItemMaskId,
+        TAknsItemID aMiddleItem,
+        TInt        aMiddleItemBitmapId,
+        TInt        aMiddleItemMaskId,
+        TAknsItemID aBottomItem,
+        TInt        aBottomItemBitmapId,
+        TInt        aBottomItemMaskId
+        );
+    
+    /**
+     * Creates only a container for bitmaps
+     *
+     * @since   5.0
+     * @return  Newly constructed object, with
+     *          NULL bitmap pointers.
+     */
+    static CAknDoubleSpanScrollIndicatorItem* NewL();
+
+   /**
+    * Destructor.
+    *
+    * @since    2.6
+    */
+	~CAknDoubleSpanScrollIndicatorItem(); 
+
+public: // new methods
+
+
+private: // new methods
+
+   /**
+    * C++ default constructor.
+    *
+    * @since    2.6
+    */
+	CAknDoubleSpanScrollIndicatorItem();
+    
+   /**
+    * By default Symbian 2nd phase constructor is private.
+    *
+    * @since    2.6
+    */
+    void ConstructL(TBool aRotated,
+        TAknsItemID aTopItem,
+        TInt        aTopItemBitmapId,
+        TInt        aTopItemMaskId,
+        TAknsItemID aMiddleItem,
+        TInt        aMiddleItemBitmapId,
+        TInt        aMiddleItemMaskId,
+        TAknsItemID aBottomItem,
+        TInt        aBottomItemBitmapId,
+        TInt        aBottomItemMaskId
+        );
+
+
+   /**
+    * Creates a new bitmap based on the given source bitmap. New bitmap
+    * will be rotated 90 degrees agains clock direction if wanted.
+    *
+    * @since    2.6
+    * @param    aSourceBitmap  Bitmap which content is copied to new bitmap
+    * @param    aRotated       If ETrue the source bitmap data is rotated
+    *                          90 degrees.
+    * @return   a pointer to a new bitmap.
+    *
+    */
+    CFbsBitmap* CreateBitmapL(CFbsBitmap* aSourceBitmap, TBool aRotated);
+
+   /**
+    * Creates a new bitmap and a mask based on the given skin item id. 
+    * New bitmap will be rotated 90 degrees agains clock direction if wanted.
+    *
+    * @since    2.6
+    * @param    aID            Skin item id for the bitmap and mask.
+    * @param    aBitmap        When this method returns this will contain a poiter
+    *                          to a new bitmap.
+    * @param    aMask          When this method returns this will contain a poiter
+    *                          to a new mask bitmap.
+    * @param    aRotated       If ETrue the skin source bitmap data is rotated
+    *                          90 degrees.
+    *
+    */
+    void CreateSkinnedBitmapAndMaskL(MAknsSkinInstance* aInstance, 
+        const TAknsItemID& aID,
+        CFbsBitmap*& aBitmap, 
+        CFbsBitmap*& aMask,
+        TBool aRotated);
+
+
+public: // data
+    TAknsItemID iTopId;
+    TAknsItemID iMidId;
+    TAknsItemID iBottomId;
+
+    CFbsBitmap* iTop;
+	CFbsBitmap* iTopMask;
+	CFbsBitmap* iMiddle;
+	CFbsBitmap* iMiddleMask;
+    CFbsBitmap* iBottom;
+    CFbsBitmap* iBottomMask;
+    TSize       iItemSize;
+
+    };
+
+#endif