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

📄 smbmusicapmainplayerplaydrawer.h

📁 symbian
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerPlayDrawer.h
//
// Description: 
//	儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺昤夋僐儞僩儘乕儖僋儔僗偺掕媊僿僢僟
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/04/28	|K3拞堜		| 弶斉儕儕乕僗
//2006/07/10	|K3拞堜		| Draw()偺const傪嶍彍
//2006/07/12	|K3拞堜		| 枹張棟夋柺偺昞帵張棟曄峏
//2006/07/14	|K3拞堜		| 悢抣昞帵僨乕僞偺惂尷僠僃僢僋捛壛
//2006/07/19	|K3拞堜		| DrawPlayPictureL()偺堷悢捛壛
//2006/07/21	|K3拞堜		| 壒埑庢摼僞僀儈儞僌僇僂儞僩捛壛
//2006/07/31	|K3拞堜		| TRK:5202 憗憲傝夋柺丄憗栠偟夋柺峏怴張棟偺懳墳
//2006/08/07	|K3拞堜		| 儅乕僉乕奐巒偺懸偪帪娫傪掕媊
//2006/08/25	|K3拞堜		| DispJacketPictureL()捛壛
//2006/09/06	|K3拞堜		| TRK:8295 儅乕僉乕奐巒偺懸偪帪娫傪嵞掕媊乮2msec仺2昩乯
//2006/09/08	|K3拞堜		| TRK:8608 懳墳 DrawIdlePictureL()偺堷悢傪捛壛
//2006/09/12	|K3拞堜		| 嵞惗嬋忣曬庢摼愝掕偺堷悢傪曄峏
//2006/09/13	|K3拞堜		| IsRedrawTimer()儊僜僢僪捛壛
//2006/09/20	|K3拞堜		| 僩乕僞儖嬋悢偺MAX傪9999偵曄峏
//2006/09/22	|K3拞堜		| SetPlayInfoObserver()儊僜僢僪捛壛
//2006/09/25	|K3拞堜		| 僋儔僗惗惉偺堷悢偵PropAgent僆僽僕僃僋僩傪捛壛
//2006/09/28	|K3拞堜		| RedrawKeyGuidance2()儊僜僢僪捛壛
//2006/09/30	|K3拞堜		| SetPlayTime()偺堷悢曄峏
//2006/10/02	|K3拞堜		| iKeyGuidanceDrawed儊僜僢僪捛壛
//2006/10/03	|K3拞堜		| TRK:9205懳墳丂SetPlayInfoPanel()儊僜僢僪捛壛
//2006/10/13	|K3拞堜		| ReleaseJacketPictureL()偺堷悢傪捛壛
//2006/10/24	|K3拞堜		| DrawPlayPictureNoVssL()儊僜僢僪捛壛

/// 嵞惗宯昤夋僐儞僩儘乕儖僋儔僗掕媊
/**
 * @file SmbMusicAPMainPlayerPlayDrawer.h
 *
 * 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺昤夋僐儞僩儘乕儖僋儔僗偺掕媊僿僢僟
 */

#ifndef __SMBMUSICAPMAINPLAYERPLAYDRAWER_H__
#define __SMBMUSICAPMAINPLAYERPLAYDRAWER_H__

//#define __DRAW_CHANGE_CPU_SPEED_

#include "SmbMusicAPMainPlayerPlayDebug.h"

#ifndef __COECNTRL_H__
#include <coecntrl.h>
#endif

#ifndef __FBS_H__
#include <fbs.h>
#endif

#ifndef __E32BASE_H__
#include <e32base.h>
#endif

#if !defined(__GULICON_H__)
#include <gulicon.h>
#endif

#ifndef __SKONKEYGUIDANCE_H__
#include <SkonKeyGuidance.h>
#endif

#ifndef FJSAKOFFSCREEN_H__
#include <FJSakOffscreen.h>
#endif

#ifndef __SKONBITGC_H__
#include <SkonBitGc.h>
#endif

#ifndef __SKONMUSICCONTROLCONTAINER_H__
#include <SkonMusicControlContainer.h>
#endif

#ifndef __SKONMUSICPLAYINFOPANEL_H__
#include <SkonMusicPlayInfoPanel.h>
#endif

#ifndef __SKONMUSICVOLUMEPANEL_H__
#include <SkonMusicVolumePanel.h>
#endif

#ifndef __SKONVISUALIZER_H__
#include <SkonVisualizer.h>
#endif

#ifndef __SKONVIRTUALSPACESCREEN_H__
#include <SkonVirtualSpaceScreen.h>
#endif

#ifndef __SKONMUSICINFO_H__
#include <SKonMusicInfol.h>
#endif

#ifndef __SKONCONTROLOBSERVER_H__
#include <SkonControlObserver.h>
#endif

#ifndef __SMBMUSICAPPLAYERCOMMONDEF_H__
#include "SmbMusicAPPlayerCommonDef.h"
#endif

#ifndef __SMBMUSICAPMAINPLAYERPLAYDRAWOBSERVER_H__
#include "SmbMusicAPMainPlayerPlayDrawObserver.h"
#endif

#ifndef __SMBMUSICAPMAINPLAYERENV_H__
#include "SmbMusicAPMainPlayerEnv.h"                // MSmbMusicAPMainPlayerEnv
#endif

#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif

#ifndef __SMBPGMUSIC_H__
#include <SmbPGMusic.h>
#endif

class CPeriodic;

SEMCJ_NAMESPACE_BEGIN
USING_NAMESPACE_DCM

#ifndef __SMBLAYOUT_HRH__																	
#include <SmbLayout.hrh>
#endif

class CSmbMusicAPMainPlayerPlayView;

/**
 * 夋柺昞帵忬懺掕媊
 */
enum TSmbMusicAPMainPlayerPlayDisp
	{
	ESmbMusicAPMainPlayerPlayDispNone,			///< 昞帵側偟
	ESmbMusicAPMainPlayerPlayDispPlaying,		///< 嵞惗夋柺
	ESmbMusicAPMainPlayerPlayDispStop,			///< 掆巭夋柺
	ESmbMusicAPMainPlayerPlayDispPlayFF,		///< 憗憲傝夋柺
	ESmbMusicAPMainPlayerPlayDispPlayFR,		///< 憗栠偟夋柺
	ESmbMusicAPMainPlayerPlayDispIdle			///< 嬻夋柺
	};
	 
/**
 * 儈儏乕僕僢僋愝掕忣曬掕媊
 */
enum TSmbMusicAPMainPlayerPlaySettingKind
	{
	ESmbMusicAPMainPlayerPlaySetUndef,			///< 愝掕忣曬側偟
	ESmbMusicAPMainPlayerPlaySetMode,			///< 嵞惗儌乕僪
	ESmbMusicAPMainPlayerPlaySetRepeat,			///< 儕僺乕僩儌乕僪
	ESmbMusicAPMainPlayerPlaySetVPT,			///< VPT愝掕
	ESmbMusicAPMainPlayerPlaySetBass,			///< BASS愝掕
	ESmbMusicAPMainPlayerPlaySetEqualizer,		///< 僀僐儔僀僓
	ESmbMusicAPMainPlayerPlaySetAVLS,			///< AVLS
	ESmbMusicAPMainPlayerPlaySetNormalizer,		///< Dynamic Normalizer
	ESmbMusicAPMainPlayerPlaySetVolume,			///< 壒検				2006.07.13
	ESmbMusicAPMainPlayerPlayChangeMannerMode	///< 儅僫乕儌乕僪曄峏
	};
	
/**
 * 儈儏乕僕僢僋愝掕忣曬僨乕僞
 */
struct TSmbMusicAPMainPlayerPlaySettingData
	{
	TSmbPGMusicAPPlayModeSetting	PlayMode;		///< 嵞惗儌乕僪
	TSmbPGMusicAPRepeatSetting		Repeat;			///< 儕僺乕僩儌乕僪
	TSmbPGMusicAPVPTSetting			VPT;			///< VPT愝掕(Effect)
	TSmbPGMusicAPBassSetting		Bass;			///< BASS愝掕
	TSmbPGMusicAPEqualizerSetting	Equalizer;		///< 僀僐儔僀僓
	TSmbPGMusicAPAVLSSetting		AVLS;			///< AVLS
	TSmbPGMusicAPDynamicNormalizerSetting	Norm;	///< Dynamic Normalizer
	TInt							Volume;			///< 壒検愝掕僨乕僞
	};

#define KSmbMusicAPMainPlayerPlayJacketSizeX	KSmbLayout_MPM_IMG_MAX_SIZE
#define KSmbMusicAPMainPlayerPlayJacketSizeY	KSmbLayout_MPM_IMG_MAX_SIZE
//#define KSmbMusicAPMainPlayerPlayIconSizeX		46
//#define KSmbMusicAPMainPlayerPlayIconSizeY		46
#define KSmbMusicAPMainPlayerPlayIconSizeX		KSmbLayout_MPM_IMG_BG_SIZE
#define KSmbMusicAPMainPlayerPlayIconSizeY		KSmbLayout_MPM_IMG_BG_SIZE
#define KSmbMusicAPMainPlayerPlayDispPointX		0
#define KSmbMusicAPMainPlayerPlayDispPointY		0
#define KSmbMusicAPMainPlayerPlayVzPointX		0
#define KSmbMusicAPMainPlayerPlayVzPointY		0

const TInt KSmbMusicAPMainPlayerPlayVolumeMax = ESmbMusicAPPlayerVolumeMax;
const TInt KSmbMusicAPMainPlayerPlayVolumeNone = -1;
const TInt KSmbMusicAPMainPlayerPlayHighSpeed = 7;

// Add 2007.05.21  嬻夋柺偺帪娫昞帵
const TInt KSmbMusicAPMainPlayerPlayIdleTimeValue = -1;

const TInt KSmbMusicAPMainPlayerPlayMaxTime = 99 * 60 + 59;
const TInt KSmbMusicAPMainPlayerPlayMaxTrack = 9999;		// 2006.09.20

const TInt KSmbMusicAPMainPlayerPlayMarqueeDelay = 2 * 1000 * 1000;	// 2昩
/**
 * 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺昤夋僐儞僩儘乕儖僋儔僗
 */
class CSmbMusicAPMainPlayerPlayDrawer : public CCoeControl,
                                        public CSkonKeyGuidance::MArrowStateProvider,
                                        public MSakOffscreen,
                                        public MSkonControlObserver
	{

public:		// Constructor/Destructor
	/**
	 * 僋儔僗惗惉
	 * @param[in] aAfEnv 娐嫬僋儔僗
	 * @param[in] aLog RLog僆僽僕僃僋僩
	 * @param[in] aPropAgent 僾儘僷僥傿僄乕僕僃儞僩僆僽僕僃僋僩
	 * @return 惗惉偟偨CSmbMusicAPMainPlayerPlayCmd僆僽僕僃僋僩
	 */
// Change 2007.09.01
//	static CSmbMusicAPMainPlayerPlayDrawer* NewL(CCoeControl& aContainer, MSmbMusicAPMainPlayerEnv& aAfEnv, RLog& aLog, RPGPropAgent& aPropAgent);
	static CSmbMusicAPMainPlayerPlayDrawer* NewL(CCoeControl& aContainer, MSmbMusicAPMainPlayerEnv& aAfEnv, RLog& aLog, RPGPropAgent& aPropAgent, CFbsBitmap* aOffScreen, CSkonBitGc* aSkonGc);

	/**
	 * 僐儞僥僫僐儞僩儘乕儖嶌惉帪偺僐儞僗僩儔僋僞
	 * @param[in] aContainer 恊僐儞僥僫僋儔僗
	 * @param[in] aSettingData 儈儏乕僕僢僋愝掕僨乕僞
	 */
	void DoConstructL(TSmbMusicAPMainPlayerPlaySettingData* aSettingData);

	/**
	 * 僨僗僩儔僋僞
	 */
	~CSmbMusicAPMainPlayerPlayDrawer();

	/**
	 * SkonMusic偺嵞昤夋桳岠/柍岠偺愝掕曄峏
	 * @param[in] aEnable ETrue:嵞昤夋桳岠丄EFalse:嵞昤夋柍岠
	 */
	void DoMusicEnableL(TBool aEnable);

public:		// MSkonControlObserver
	/**
	 * SkonMusic偐傜偺嵞昤夋捠抦
	 * @param[in] aControl 嵞昤夋捠抦偟偨SkonMusic僐儞僩儘乕儖
	 * @param[in] aRect 嵞昤夋斖埻
	 */
	void HandleSkonControlRedrawEvent(CSkonControl* aControl, const TRect& aRect);

	/**
	 * SkonMusic偐傜偺僐儞僩儘乕儖僀儀儞僩捠抦
	 * @param[in] aControl 僐儞僩儘乕儖僀儀儞僩捠抦偟偨SkonMusic僐儞僩儘乕儖
	 * @param[in] aEventType 僀儀儞僩僞僀僾
	 */
	void HandleSkonControlEventL(CSkonControl* aControl, TSkonControlEvent aEventType);
	
public:		// MArrowStateProvider
	/**
	 * 栴報昞帵忣曬捠抦
	 * @return  栴報忣曬
	 */
	TInt CurrentArrowState() const;

public:		// MSakOffscreen
	/**
	 * MSakOffscreen僋儔僗偺Invalidate儊僜僢僪偺幚憰
	 * 嵞昤夋梫媮
	 * @param[in] aRect		嵞昤夋椞堟
	 */
	void Invalidate(const TRect& aRect);

public:		// own method
	/**
	 * 昤夋僐儞僩儘乕儖偺僆僽僓乕僶傪愝掕偡傞丅
	 * @param[in] aObserver 昤夋僐儞僩儘乕儖偺僆僽僓乕僶僋儔僗
	 */
	void SetObserver(MSmbMusicAPMainPlayerPlayDrawObserver* aObserver);
	
	// 2006.10.04  TRK:9205
	/**
	 * Music僐儞僩儘乕儖偵嵞惗忣曬僷僱儖傪愝掕偡傞丅
	 */
	void SetPlayInfoPanel();

	// 2007.08.21
	/**
	 * 嵞惗夋柺傪僋儕傾偡傞丅
	 * @param[in] aTotal 僩乕僞儖嬋悢
	 * @param[in] aSongNum 嵞惗嬋斣崋
	 */
	void ClearPlayPictureL(TInt aTotal, TInt aSongNum);

	/**
	 * 嵞惗忣曬僷僱儖偵嵞惗嬋忣曬傪僙僢僩偡傞丅
	 * @param[in] aTotal 僩乕僞儖嬋悢
	 * @param[in] aSongNum 嵞惗嬋斣崋
	 * @param[in] aArtistTitle 傾乕僥傿僗僩柤
	 * @param[in] aAlbumTitle 傾儖僶儉柤
	 * @param[in] aSongTitle 僞僀僩儖柤
	 * @param[in] aTotalPlayTime 僩乕僞儖嵞惗帪娫
	 * @param[in] aUpdate ETrue:忣曬愝掕屻丄Update捠抦偡傞	2007.08.20
	 */
	void SetSongInfoL(TInt aTotal, TInt aSongNum, TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, TInt aTotalPlayTime);

	/**
	 * 僕儍働僢僩夋憸傪愝掕偡傞丅
	 * @param[in] aJacket 僕儍働僢僩夋憸偺價僢僩儅僢僾僨乕僞
	 * @param[in] aJacketMask 僕儍働僢僩夋憸偺儅僗僋僨乕僞
	 * @param[in] aIcon 傾僀僐儞夋憸偺價僢僩儅僢僾僨乕僞
	 * @param[in] aIconMask 傾僀僐儞夋憸偺儅僗僋僨乕僞
	 * @param[in] aDefault 僨僼僅儖僩夋憸巜掕乮ETrue丗僨僼僅儖僩夋憸乯
	 */
	void SetJacketPictureL(CFbsBitmap* aJacket, CFbsBitmap* aJacketMask, CFbsBitmap* aIcon, CFbsBitmap* aIconMask, TBool aDefault);

	/**
	 * 僕儍働僢僩夋憸傪旕愝掕忬懺偵偡傞丅
	 * @param[in] aIcon ETrue:傾僀僐儞傕旕昞帵偵偡傞丅	2006.10.13
	 * @param[in] aUpdate ETrue:Update偡傞	2007.08.20
	 */
// Change 2007.08.20
//	void ReleaseJacketPictureL(TBool aIcon);
	void ReleaseJacketPictureL(TBool aIcon, TBool aUpdate=ETrue);

	// 2006.08.25
	/**
	 * 僕儍働僢僩夋憸傪昞帵忬懺偵偡傞丅
	 */
	void DispJacketPictureL();

// del 2006/05/08 ConstructL()偱峴偆丅
//	/**
//	 * 僕儍働僢僩夋憸梡價僕儏傾儔僀僓乕傪僶乕僠儍儖僗儁乕僗偵搊榐偡傞丅
//	 */
//	void SetVisualizerControlL();
	
	/**
	 * 嵞惗忣曬僷僱儖偵儈儏乕僕僢僋愝掕忣曬傪僙僢僩偡傞丅
	 * @param[in] aSetKind 儈儏乕僕僢僋愝掕忣曬庬暿
	 * @param[in] aSetData 儈儏乕僕僢僋愝掕忣曬僨乕僞
	 */
	 void SetSettingInfoL(TSmbMusicAPMainPlayerPlaySettingKind aSetKind, TInt aSetData);

	/**
	 * 嵞惗宱夁帪娫傪嵞惗忣曬僷僱儖偵僙僢僩偡傞丅
	 * @param[in] aTime 嵞惗宱夁帪娫乮昩乯
	 * @param[in] aUpdate ETrue:帪娫愝掕屻丄夋柺峏怴
	 */
	void SetPlayTimeL(TInt aTime, TBool aUpdate);
	
	/**
	 * 嵞惗宱夁帪娫傪捠抦偡傞丅
	 * @return 嵞惗宱夁帪娫乮昩乯
	 */
	TInt PlayTime();
	
// del 2006/05/08
//	/**
//	 * 壒検愝掕僷僱儖偵壒検抣傪愝掕偡傞丅
//	 * @param[in] aVolume 壒検愝掕抣
//	 * @param[in] aReDraw 愝掕屻嵞昤夋巜掕乮ETrue:嵞昤夋乯
//	 */
//	void SetVolumePanel(TInt aVolume, TBool aReDraw);

⌨️ 快捷键说明

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