📄 smbmusicaplibimagefunc.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPLibImageFunc.h
//
// Description:
// PTX810 Music嫟捠儔僀僽儔儕 夋憸曄姺僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |娵壀 | 怴婯嶌惉
//----PTX824----+---------------+--------------------------------------
//2007/03/20 |K3悪杮 | 偄偔偮偐偺API傪Public偐傜Private偵曄峏
//2007/03/30 |K3悪杮 | PTX824懳墳(G2PF儔僢僷乕偵懳墳)
//2007/04/02 |K3悪杮 | PTX824懳墳(奼戝儕僒僀僘懳墳)
#ifndef __SMBMUSICAPLIBIMAGEFUNC_H__
#define __SMBMUSICAPLIBIMAGEFUNC_H__
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef __SMBMUSICAPLIBDEF_H__
#include "SmbMusicAPLibImageDef.h"
#endif
class CImageDecoder;
SEMCJ_NAMESPACE_BEGIN
#ifndef __SMBMUSICAPLIB_ENABLE_PTX810__
// ADD-S PTX824 k3-sugimoto
class CSmbImageMW;
// ADD-E PTX824 k3-sugimoto
#endif
class CSmbMusicAPLibImageResizer;
/**
* Music傾僾儕嫟捠儔僀僽儔儕 夋憸張棟僋儔僗
*/
class CSmbMusicAPLibImageFunc : public CActive
{
public:
/**
忬懺掕媊
*/
enum TSmbMusicAPLibImageFuncState
{
ESmbMusicAPLibIdle = 0, ///<傾僀僪儖忬懺
ESmbMusicAPLibWaitConvertRes, ///<夋憸曄姺忬懺
ESmbMusicAPLibWaitResizeBitmap, ///<夋憸曄姺屻偺Bitmap儕僒僀僘忬懺
ESmbMusicAPLibWaitResizeRes ///<Bitmap儕僒僀僘忬懺
};
// ADD-S PTX824 k3-sugimoto
enum TSmbMusicAPLibFileFormat
{
ESmbMusicAPLibFileFormatNotSupport = 0, ///<僒億乕僩奜
ESmbMusicAPLibFileFormatExif, ///<Exif僼傽僀儖
ESmbMusicAPLibFileFormatJfif, ///<Jfif僼傽僀儖
ESmbMusicAPLibFileFormatJpeg, ///<Jpeg僼傽僀儖
ESmbMusicAPLibFileFormatGif ///<Gif僼傽僀儖
};
// ADD-E PTX824 k3-sugimoto
/**
僼傽僋僩儕娭悢
* @param 側偟
* @return 惗惉偟偨僋儔僗偺億僀儞僞
*/
IMPORT_C static CSmbMusicAPLibImageFunc* NewL();
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
IMPORT_C ~CSmbMusicAPLibImageFunc();
/**
* 夋憸僼傽僀儖偐傜巜掕偟偨僒僀僘偺Bitmap傪惗惉偡傞
*
* @param[in] aFileName 僼傽僀儖柤(僼儖僷僗巜掕)
* @param[in] aSize 弌椡偡傞Bitmap偺僒僀僘(暋悢巜掕壜)
* @param[in,out] aBitmap 曄姺屻偺Bitmap奿擺僋儔僗
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
// MODIFY-S PTX824 k3-sugimoto
IMPORT_C TInt ConvertImage(
const TDesC& aFileName,
RArray<TSmbMusicAPLibImageSizeInfo>& aSize,
RPointerArray<TSmbMusicAPLibImageBitmap>& aBitmap,
TRequestStatus& aStatus
);
// MODIFY-E PTX824 k3-sugimoto
/**
夋憸曄姺傪拞巭偡傞
* @param 側偟
* @return 張棟寢壥
*/
IMPORT_C TInt CancelConvertImage();
/**
* Bitmap傪儕僒僀僘偡傞
*
* @param[in] aSrcBitmap 儕僒僀僘偡傞尦夋憸Bitmap
* @param[in] aSize 巜掕偟偨僒僀僘
* @param[in,out] aDstBitmap 儕僒僀僘屻偺夋憸Bitmap
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
* @param[in] aBeSpread 奼戝幚峴僼儔僌(僨僼僅儖僩:EFalse=奼戝偟側偄)
*
* @return 張棟寢壥
**/
// MODIFY-S PTX824 k3-sugimoto
IMPORT_C TInt ResizeBitmap(
TSmbMusicAPLibImageBitmap& aSrcBitmap,
TSize aSize,
TSmbMusicAPLibImageBitmap& aDstBitmap,
TRequestStatus& aStatus,
TBool aBeSpread = EFalse
);
// MODIFY-E PTX824 k3-sugimoto
/**
Bitmap偺儕僒僀僘傪拞巭偡傞
* @param 側偟
* @return 張棟寢壥
*/
IMPORT_C TInt CancelResizeBitmap();
/**
擖椡偝傟偨夋憸偑僒億乕僩撪偱偁傞偐傪僠僃僢僋偡傞
* @param[in] aFileName 僼傽僀儖柤
* @param[in.out] aSize 夋憸偺夋僒僀僘
* @return 張棟寢壥
*/
IMPORT_C TInt SupportedImageL(const TDesC& aFileName, TSize& aSize);
private:
/**
僐儞僗僩儔僗僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPLibImageFunc();
/**
戞擇僼僃乕僘僐儞僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
void ConstructL();
/**
忬懺傪僙僢僩偡傞
* @param [in] aState 愝掕偡傞忬懺抣
* @return 側偟
*/
void SetState(TSmbMusicAPLibImageFuncState aState);
/**
忬懺傪庢摼偡傞
* @param 側偟
* @return 夋憸張棟僋儔僗偺忬懺
*/
TSmbMusicAPLibImageFuncState State();
/**
惗惉偟偨僆僽僕僃僋僩傪嶍彍偡傞
* @param 側偟
* @return 側偟
*/
void DeleteObjects();
/**
梫媮懁偵懳偟偰丄旕摨婜梫媮偺姰椆傪捠抦偡傞
* @param aCode 姰椆僐乕僪
* @return 側偟
*/
void Complete(TInt aCode);
/**
庢摼偟偨Bitmap攝楍傪嶍彍偡傞
* @param 側偟
* @return 側偟
*/
void DeleteBitmapArray();
/**
傾僋僥傿僽僆僽僕僃僋僩偺RunL娭悢傪幚憰偡傞
* @param 側偟
* @return 側偟
*/
void RunL();
/**
傾僋僥傿僽僆僽僕僃僋僩偺DoCancel張棟傪峴偆
* @param 側偟
* @return 側偟
*/
void DoCancel();
/**
Bitmap偵曄姺張棟廔椆屻丄Bitmap偺儕僒僀僘張棟傪奐巒偡傞
* @param 側偟
* @return 側偟
*/
void CompleteConvert();
/**
Bitmap儕僒僀僘梫媮乮暋悢巜掕壜乯傪慡晹姰椆偡傞傑偱張棟傪懕偗傞
* @param 側偟
* @return 側偟
*/
void CompleteResize();
/**
扨悢偺Bitmap儕僒僀僘張棟姰椆捠抦傪梫媮懁偵搳偘傞
* @param 側偟
* @return 側偟
*/
void CompleteResizeBitmap();
/**
旕摨婜梫媮傪奐巒偡傞乮AO傪SetActive偡傞乯
* @param 側偟
* @return 側偟
*/
void Start();
// ADD-S PTX824 k3-sugimoto
/**
* Jpeg夋憸埲奜傪Bitmap偵曄姺偡傞
* @param[in] aFileName 僼傽僀儖柤(僼儖僷僗巜掕)
* @param[in] aSize 夋憸偺夋僒僀僘
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
* @return 張棟寢壥
**/
TInt StartConvertImageFile(
const TDesC& aFileName,
TSize aSize,
TRequestStatus& aStatus
);
/**
* G2PF MW傪巊梡偟Jpeg夋憸傪Bitmap偵曄姺偡傞
* @param [in] aFileName 僼傽僀儖柤(僼儖僷僗巜掕)
* @param[in] aSize
* @param [in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
* @return 張棟寢壥
**/
TInt StartConvertJpegFile(
const TDesC& aFileName,
TSize aSize,
TRequestStatus& aStatus
);
// ADD-E PTX824 k3-sugimoto
private:
/** 梫媮懁偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗傪堦帪曐懚梡儊儞僶乕曄悢 */
TRequestStatus* iClientStatus;
/** 儕僒僀僘偟偨Bitmap傊偺嶲徠偺攝楍 */
RPointerArray<TSmbMusicAPLibImageBitmap>* iDstBitmap;
/** 巜掕偟偨僒僀僘偺攝楍傪堦帪曐懚梡儊儞僶乕曄悢 */
// MODIFY-S PTX824 k3-sugimoto
RArray<TSmbMusicAPLibImageSizeInfo> iDstSize;
// MODIFY-E PTX824 k3-sugimoto
/** 儕僒僀僘梫媮偑暋悢偺応崌丄偦偺張棟姰椆僇僂儞僞 */
TInt iCompleteCounter;
/** 巜掕偟偨夋憸僼傽僀儖偐傜堦帪惗惉偟偨Bitmap奿擺梡儊儞僶乕曄悢 */
TSmbMusicAPLibImageBitmap iTmpBitmap;
/** 夋憸僨僐乕僟僋儔僗偺億僀儞僞 */
CImageDecoder* iDecoder;
/** 僋儔僗忬懺 */
TSmbMusicAPLibImageFuncState iState;
/** 儕僒僀僘偟偨Bitmap奿擺梡儊儞僶乕曄悢 */
TSmbMusicAPLibImageBitmap iWorkBitmap;
/** 僼傽僀儖僒乕僶僙僢僔儑儞 */
RFs iFs;
/** Bitmap儕僒僀僘 僋儔僗傊偺億僀儞僞 */
CSmbMusicAPLibImageResizer* iResizer;
// ADD-S PTX824 k3-sugimoto
TSmbMusicAPLibFileFormat iFileFormat; ///< 僼傽僀儖僼僅乕儅僢僩
TSize iDestSize; ///< 弌椡夋憸偺儕僒僀僘屻偺僒僀僘
#ifndef __SMBMUSICAPLIB_ENABLE_PTX810__
CSmbImageMW* iJpgDecoder; ///< G2PF儔僢僷乕僆僽僕僃僋僩
#endif
// ADD-E PTX824 k3-sugimoto
};
SEMCJ_NAMESPACE_END
#endif //__SMBMUSICAPLIBIMAGEFUNC_H__
// end of SmbMusicAPLibImageFunc.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -