?? multimediafadapter.h
字號:
#ifndef MULTIMEDIAFADAPTER_H
#define MULTIMEDIAFADAPTER_H
// System Includes
#include <e32base.h>
#include <gdi.h> // TDisplayMode
#include <f32file.h> // RFs
// User includes
#include "ImageModel.h" // MImageModel
//FORWARD DECLARATION
class CImageDecoder;
class CImageEncoder;
class CBitmapRotator;
class CBitmapScaler;
class CFbsBitmap;
class MMultimediaController;
class CFrameImageData;
class TJpegImageData;
/**
*
* @class CMultiMediaFAdapter MultiMediaFAdapter.h
* @brief This is an Adapter class (see a design patterns book) which
* acts as a wrapper around the functionality of the Media Multi Framework. The example
* illustrates some of the core concepts required in understanding
* image conversion/manipulation on Series 60 v2.x.
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*
*/
class CMultiMediaFAdapter : public CActive, public MImageModel //this is from Media Server
{
public: // Construction and Destruction
static CMultiMediaFAdapter* NewL(MMultimediaController& aMultimediaController, TDisplayMode aDeviceDisplayMode);
static CMultiMediaFAdapter* NewLC(MMultimediaController& aMultimediaController, TDisplayMode aDeviceDisplayMode);
virtual ~CMultiMediaFAdapter();
public: // Public Methods
void HandleCommandL(TInt aCommand);
public: //From MImageModel
CFbsBitmap& Image() const;
protected: // From CActive
void RunL();
void DoCancel();
private: // Enumerations
// enumeration to keep track of current manipulation
enum TMultiMediaFState
{
EDecode = 0,
EEncode,
ERotating,
EScaling,
EDoNothing
};
// enumeration to decide whether to enlarge or shrink image
enum TScaleState
{
EScaleDown = 0,
EScaleUp
};
private: // Construction
void ConstructL();
CMultiMediaFAdapter(MMultimediaController& aMultimediaController, TDisplayMode aDeviceDisplayMode);
private: // Methods
// Image converstion functions
void DecodeOpenAndConvertL();
void EncodeOpenAndConvertL();
// Image rotation Functions
void Rotate90();
void Rotate180();
void Rotate270();
void RotateMirrorV();
void RotateMirrorH();
// Image scaling function
void ScaleImage();
// Rest image
void ResetImageL();
private: // member data
// from Media Framework
CImageDecoder* iDecoder;
CImageEncoder* iEncoder;
CBitmapRotator* iRotator;
CBitmapScaler* iScaler;
CFrameImageData* iJpgImageData; // used to save jpgs
CFbsBitmap* iImage;
MMultimediaController& iMultimediaController;
RFs iFs;
TMultiMediaFState iManipulationState;
TScaleState iScaleState;
TDisplayMode iDeviceDisplayMode; // used to store device display mode
};
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -