textinput/peninputcommonctrls/src/peninputdropdownlist/peninputbitmapdb.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputbitmapdb.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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 db manager,which is used by drop down list
-*
-*/
-
-
-#include <e32base.h>
-#include <w32std.h>
-#include <fbs.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayout.h>
-#include <aknenv.h>
-#include "peninputbitmapdb.h"
-
-const TUint32 KDefaultTextColor = 0x000000;
-const TUint32 KDefaultFrameColor = 0x000000;
-
-const TInt KInvalidBmp = -1;
-
-const TInt KTransparency[256] =
-    { 
-    0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7,
-    8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,
-    14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 19,
-    19, 19, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 24, 24,
-    24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 29,
-    30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35,
-    35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 40, 40, 40,
-    41, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 46,
-    46, 46, 47, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 50, 51, 51,
-    51, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 56,
-    57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62,
-    62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 67, 67, 67,
-    68, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 73,
-    73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77 
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CBitmapDb 
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CBitmapDb* CBitmapDb::NewL(TResourceReader& aReader, 
-                           TSize aBitmapSize,
-                           TSize aExpandSize,
-                           TSize aSpinBtnSize)
-    {
-    CBitmapDb* self = new (ELeave) CBitmapDb();
-    CleanupStack::PushL(self);
-    self->ConstructL(aReader, 
-                     aBitmapSize,
-                     aExpandSize,
-                     aSpinBtnSize);
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::~CBitmapDb
-// destructor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-CBitmapDb::~CBitmapDb() 
-    {
-    // Delete all bitmap
-    iBmpList.ResetAndDestroy();
-    iBmpList.Close();    
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::GetBitMap
-// get bitmap according to the assigned type
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//     
-const CFbsBitmap* CBitmapDb::GetBitMap(const TBitmapType aType)
-    {
-    // Return corresponding bitmap according aType 
-    return iBmpList[aType];
-    }
-        
-// -----------------------------------------------------------------------------
-// CBitmapDb::CreateIconL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBitmapDb::CreateIconL(const TDesC& aBmpFileName,
-                            TAknsItemID aId,
-                            CFbsBitmap** aBmp,
-                            CFbsBitmap** aMaskBmp,
-                            TInt aBmpId,
-                            TInt aMaskBmpId,
-                            TSize aSize,
-                            TBool aColorIcon)
-    {
-    if (aBmpId != KInvalidBmp)
-        {
-        if (aMaskBmpId != KInvalidBmp)
-            {
-            if (aColorIcon)
-                {
-                AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
-                             aId,
-                             KAknsIIDQsnIconColors,
-                             EAknsCIQsnIconColorsCG30,
-                             *aBmp,
-                             *aMaskBmp,
-                             aBmpFileName,
-                             aBmpId,
-                             aMaskBmpId,
-                             AKN_LAF_COLOR( 0 ) ); 
-                }
-            else
-                {
-                AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                                       aId,
-                                       *aBmp,
-                                       *aMaskBmp,
-                                       aBmpFileName,
-                                       aBmpId,
-                                       aMaskBmpId);
-                }
-
-            AknIconUtils::SetSize(*aMaskBmp, aSize, EAspectRatioNotPreserved);
-            }
-        else
-            {
-            AknsUtils::CreateIconL(AknsUtils::SkinInstance(),
-                                   aId,
-                                   *aBmp,
-                                   aBmpFileName,
-                                   aBmpId);
-            }
-        
-        AknIconUtils::SetSize(*aBmp, aSize, EAspectRatioNotPreserved);    
-        }
-    }
-
-void CBitmapDb::ConstructFromResourceL(TResourceReader& aReader, 
-                                       TSize aBitmapSize,
-                                       TSize aExpandSize,
-                                       TSize aSpinBtnSize)
-    {
-    for (TInt i = 0; i < EBitmapLastType + 1; ++i)
-        {
-        delete iBmpList[i];
-        iBmpList[i] = NULL;
-        }
-
-    // Read mbm file name from the aReader
-    TPtrC bmpFile = aReader.ReadTPtrC();
-    TInt imgMajorSkinId = aReader.ReadInt32();
-
-    TAknsItemID id;
-
-    for (TInt i = 0; i < EBitmapLastType + 1; i+=2)
-        {
-        TInt bmpId = aReader.ReadInt16();
-        TInt maskId = aReader.ReadInt16();
-        TInt minorSkinId = aReader.ReadInt16();
-        
-        TSize bmpsize = aBitmapSize;
-        
-        if ((i >= EBitmapNextDisable && i < EBitmapNextPressMask) ||
-            (i >= EBitmapPrevious && i < EBitmapPreviousPressMask))
-            {
-            bmpsize = aSpinBtnSize;
-            }
-        else if (i >= EBitmapExpand && i < EBitmapExpandPressMask)
-            {
-            bmpsize = aExpandSize;
-            }
-            
-        id.Set(imgMajorSkinId, minorSkinId);
-        
-        TBool colorIcon;
-        if ( i == EBitmapNext || i == EBitmapNextMask ||
-             i == EBitmapClose || i == EBitmapCloseMask ||
-             i == EBitmapPrevious || i == EBitmapPreviousMask ||
-             i == EBitmapExpand || i == EBitmapExpandMask)
-            {
-            colorIcon = ETrue;
-            }
-        else
-            {
-            colorIcon = EFalse;
-            }
-        
-        CreateIconL(bmpFile,
-                    id,
-                    &(iBmpList[i]),
-                    &(iBmpList[i+1]),
-                    bmpId,
-                    maskId,
-                    bmpsize,
-                    colorIcon);
-        
-        if( i == EBitmapNextDisable )
-        	{
-        	CFbsBitmap* newMask = NULL;
-        	CreateDimmedMaskL( newMask, iBmpList[i+1]);
-        	delete iBmpList[i+1];
-        	iBmpList[i+1] = newMask;
-        	}
-        }
-    
-    TInt colorMajorSkinId = aReader.ReadInt32();
-    TInt skinitemid = aReader.ReadInt16();
-    TInt textcoloridx = aReader.ReadInt16();
-    
-    id.Set(colorMajorSkinId, skinitemid);
-    TInt error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                           iTextColor,
-                                           id,
-                                           textcoloridx);
-
-    if (error != KErrNone)
-        {
-    	iTextColor = TRgb(KDefaultTextColor);
-        }
-        
-    TInt frameMajorSkinId = aReader.ReadInt32();
-    skinitemid = aReader.ReadInt16();
-    TInt framecoloridx = aReader.ReadInt16();
-    
-    id.Set(frameMajorSkinId, skinitemid);
-    error = AknsUtils::GetCachedColor(AknsUtils::SkinInstance(),
-                                      iFrameColor,
-                                      id,
-                                      framecoloridx);
-    
-    if (error != KErrNone)
-        {
-    	iFrameColor = TRgb(KDefaultFrameColor);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::ConstructL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBitmapDb::ConstructL(TResourceReader& aReader, 
-                           TSize aBitmapSize,
-                           TSize aExpandSize,
-                           TSize aSpinBtnSize)
-    {
-    for (TInt i = 0; i < EBitmapLastType + 1; ++i)
-        {
-        iBmpList.AppendL(NULL);
-        }
-
-    ConstructFromResourceL(aReader, 
-                           aBitmapSize,
-                           aExpandSize,
-                           aSpinBtnSize);
-    }
-    
-// -----------------------------------------------------------------------------
-// CBitmapDb::TextColor
-// Get text color of drop down list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRgb CBitmapDb::TextColor()
-    {
-    return iTextColor;
-    }
-
-// -----------------------------------------------------------------------------
-// CBitmapDb::FrameColor
-// Get frame color of drop down list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TRgb CBitmapDb::FrameColor()
-    {
-	return iFrameColor;
-    }
-// ---------------------------------------------------------------------------
-// CBitmapDb::CreateDimmedMaskL
-// This methods shall be called by the container's SizeChanged handler
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//	
-void CBitmapDb::CreateDimmedMaskL( CFbsBitmap*& aDimmedMask,
-                                        		 const CFbsBitmap* aMask
-                                        		 /*TScaleMode aScaleMode*/ )
-	{
-	    if (aMask && aMask->DisplayMode() == EGray256)
-	        {
-	        delete aDimmedMask;
-	        aDimmedMask = NULL;
-
-	        aDimmedMask = new (ELeave) CFbsBitmap;
-
-	        User::LeaveIfError(aDimmedMask->Create(aMask->SizeInPixels(), EGray256)); 
-	        CleanupStack::PushL(aDimmedMask);
-
-	        CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(aDimmedMask);
-	        CleanupStack::PushL(bitmapDevice);
-
-	        CFbsBitGc* bitGc(NULL);
-	        User::LeaveIfError(bitmapDevice->CreateContext(bitGc));
-	        CleanupStack::PushL(bitGc);
-
-	        bitGc->SetPenStyle(CGraphicsContext::ESolidPen);
-	        bitGc->BitBlt(TPoint(0, 0), aMask);
-
-	        aDimmedMask->LockHeap();
-	        TInt w = aMask->SizeInPixels().iWidth; 
-	        TInt h = aMask->SizeInPixels().iHeight;
-	        TInt dataStride = aMask->DataStride() - w; 
-	        unsigned char* address = (unsigned char *)aDimmedMask->DataAddress();  
-
-	        for ( TInt i = 0; i < h; ++i )
-	            {
-	            for ( TInt j = 0; j < w; ++j )
-	                {
-	                *address = KTransparency[*address];
-	                ++address;
-	                }
-	            address += dataStride;         
-	            }
-
-	        aDimmedMask->UnlockHeap();
-
-	        //AknIconUtils::SetSize(aDimmedMask, aMask->SizeInPixels(), aScaleMode);
-
-	        CleanupStack::PopAndDestroy(2); // bitmapDevice, bitGc
-	        CleanupStack::Pop(1); // aDimmedMask
-	        }
-
-	}
-	
-void CBitmapDb::SizeChanged(TSize aSize)
-	{
-	for (TInt i = 0; i < iBmpList.Count(); i++)
-		{
-		AknIconUtils::SetSize(iBmpList[i], aSize, EAspectRatioNotPreserved);
-		}
-	// dimmed mask can't use AknIconUtils::SetSize change its size.
-	if( iBmpList[EBitmapNextDisableMask] && iBmpList[EBitmapNextMask] )
-		{
-		CFbsBitmap* newMask = NULL;
-		TRAP_IGNORE(CreateDimmedMaskL( newMask, iBmpList[EBitmapNextMask]));
-		delete iBmpList[EBitmapNextDisableMask];
-		iBmpList[EBitmapNextDisableMask] = newMask;		
-		}
-	}
-// End Of File