⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapsingleplayerutils.cpp

📁 symbian代码
💻 CPP
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2007Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSinglePlayerUtils.cpp
//   
// Description:堦嬋嵞惗僾儗僀儎乕梡Util
//
//	Modify:
//	2007-02-01	怴婯	K3Hirono
/*------------------------------------------------------------------------*/
// $NoKeywords: $

#ifndef SMBMUSICAPSINGLEPLAYERUTILS_H_
#include "SmbMusicAPSinglePlayerUtils.h"	//堦嬋嵞惗僾儗僀儎乕Util
#endif	//SMBMUSICAPSINGLEPLAYERUTILS_H_

#ifndef __BITDEV_H__
#include <bitdev.h>	//Bitmap昤夋梡
#endif	//__BITDEV_H__

SEMCJ_NAMESPACE_BEGIN

/**
 *	傾僀僐儞傪撉傒崬傓
 *
 *	@param	TInt	aId		價僢僩儅僢僾ID
 *	@param	TInt	aMaskId	價僢僩儅僢僾ID
 *	@param	RPointerArray<CGulIcon>& aArray	傾僀僐儞傪奿擺偡傞攝楍
 *	@return void
 */
void SmbMusicAPSinglePlayerIconUtils::LoadIconL(TInt aId, TInt aMaskId, RPointerArray<CGulIcon>& aArray,  const TDesC& aFileName)
	{
	// 傾僀僐儞偺惗惉偲搊榐
	CGulIcon* icon = CreateIconL(aId, aMaskId, aFileName);  // bmp偲bmpMask偺強桳尃偑埾忳偝傟傞
	CleanupStack::PushL(icon);
	User::LeaveIfError(aArray.Append(icon));
	CleanupStack::Pop(icon);
	}

void SmbMusicAPSinglePlayerIconUtils::LoadIconL(TInt aMaskId, TRgb aRgb, TSize aSize, RPointerArray<CGulIcon>& aArray,  const TDesC& aFileName)
	{
	// 傾僀僐儞偺惗惉偲搊榐
	CGulIcon* icon = CreateIconL(aMaskId, aRgb, aSize, aFileName);  // bmp偲bmpMask偺強桳尃偑埾忳偝傟傞
	CleanupStack::PushL(icon);
	User::LeaveIfError(aArray.Append(icon));
	CleanupStack::Pop(icon);
	}
    
/**
 *	傾僀僐儞傪嶌傞
 *
 *	@memo	價僢僩儅僢僾偲儅僗僋夋憸偐傜傾僀僐儞傪惗惉偡傞	
 *	@param TInt aId			價僢僩儅僢僾ID
 *	@param TInt aMaskedId	儅僗僋夋憸ID
 *	@param const TDesC& aFileName	夋憸偑奿擺偝傟偰偄傞僼傽僀儖柤
 *	@return CGulIcon*	惗惉偟偨傾僀僐儞
 */
CGulIcon* SmbMusicAPSinglePlayerIconUtils::CreateIconL(TInt aId, TInt aMaskId, const TDesC& aFileName)
	{
	// 夋憸
	CFbsBitmap* bmp = new(ELeave) CFbsBitmap();
	CleanupStack::PushL(bmp);
	User::LeaveIfError(bmp->Load(aFileName, aId));
		
	// 儅僗僋夋憸
	CFbsBitmap* bmpMask = new(ELeave) CFbsBitmap();
	CleanupStack::PushL(bmpMask);
	User::LeaveIfError(bmpMask->Load(aFileName, aMaskId));

	// 傾僀僐儞偺惗惉偲搊榐
	CGulIcon* icon = CGulIcon::NewL(bmp, bmpMask);  // bmp偲bmpMask偺強桳尃偑埾忳偝傟傞
	CleanupStack::Pop(bmpMask);
	CleanupStack::Pop(bmp);
	
	return icon;
	}

/**
 *	傾僀僐儞傪嶌傞
 *
 *	@memo	巜掕偟偨怓偱丄儅僗僋夋憸傪巊偭偰傾僀僐儞傪惗惉偡傞(僥僀僗僩昤夋梡)
 *	@param	TInt aMaskId	儅僗僋夋憸ID
 *	@param	TRgb aRgb		巜掕怓
 *	@param	TSize aSize		夋憸僒僀僘
 *	@param	 const TDesC& aFileName	夋憸僼傽僀儖柤
 *	@return CGulIcon*	惗惉偟偨傾僀僐儞
 */
CGulIcon* SmbMusicAPSinglePlayerIconUtils::CreateIconL(TInt aMaskId, TRgb aRgb, TSize aSize, const TDesC& aFileName)
	{
	CFbsBitmap* bmp = new (ELeave) CFbsBitmap();
	CleanupStack::PushL(bmp);	
	User::LeaveIfError(bmp->Create(aSize, EColor64K));
	CFbsBitGc* gc = NULL;
	CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(bmp);
	CleanupStack::PushL(bitmapDevice);
	User::LeaveIfError(bitmapDevice->CreateContext(gc));
	CleanupStack::PushL(gc);
	gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
	gc->SetBrushColor(aRgb);
	gc->DrawRect(TRect(aSize));
	CleanupStack::PopAndDestroy(2);

	// 儅僗僋夋憸
	CFbsBitmap* bmpMask = new(ELeave) CFbsBitmap();
	CleanupStack::PushL(bmpMask);
	User::LeaveIfError(bmpMask->Load(aFileName, aMaskId));

	// 傾僀僐儞偺惗惉偲搊榐
	CGulIcon* icon = CGulIcon::NewL(bmp, bmpMask);  // bmp偲bmpMask偺強桳尃偑埾忳偝傟傞
	CleanupStack::Pop(bmpMask);
	CleanupStack::Pop(bmp);
	
	return icon;
	}

/**
 *	埵抲偺曗惓(TPoint)
 *
 *	@param	TPoint aPoint	曗惓慜偺嵗昗
 *	@param	TPoint aAdjust	曗惓抣
 *	@return TPoint	曗惓屻偺嵗昗
 */
TPoint SmbMusicAPSinglePlayerIconUtils::AdjustPoint(TPoint aPoint, TPoint aAdjust)
	{
	TInt y = aPoint.iY + aAdjust.iY;
	TInt x = aPoint.iX + aAdjust.iX;
	
	return TPoint(x,y);
	}

/**
 *	埵抲偺曗惓(TRect)
 *
 *	@param	TRect aRect	曗惓慜偺嵗昗
 +	@param	TPoint aAdjust	曗惓抣
 *	@return	曗惓屻偺Rect
 */
TRect SmbMusicAPSinglePlayerIconUtils::AdjustRect(TRect aRect, TPoint aAdjust)
	{
	TRect rect = aRect;
	rect.Normalize();
	rect.Move(aAdjust);
	return rect;
	}

SEMCJ_NAMESPACE_END
// end of SmbMusicAPSinglePlayerUtils.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -