CImageDisplayFramework Class Reference

class CImageDisplayFramework : public CBase

Inherits from

Private Member Functions
CImageDisplayFramework ( CImageDisplay &, MIclImageDisplayObserver &, RFs &)
~CImageDisplayFramework ()
void CallbackImageReady (const CFbsBitmap *, TUint , const TRect &, TInt )
void ClearFlag ( TInt )
CImageDisplayPlugin * DataNewL (const TDesC8 &, const TUid , const TUid , const TUid )
void DeletePlugin ()
const TSize & DestinationSizeInPixels ()
TDisplayMode DisplayMode ()
TInt ExtensionInterface ( TUid , TAny *&)
CImageDisplayPlugin * FileHandleNewImplL ( RFile &, const TUid , const TUid , const TUid )
CImageDisplayPlugin * FileNewImplL (const TDesC &, const TUid , const TUid , const TUid )
CImageDisplayPlugin * FindDisplayerNewL (const RImplInfoPtrArray &)
TBool FlagSet ( TInt )
void GetBitmap (const CFbsBitmap *&, const CFbsBitmap *&)
TUint ImageStatus ()
void ImageTypeGetDisplayerListL ( RImplInfoPtrArray &, const TDesC8 &, const TUid , const TUid , const TUid )
TBool MaintainAspectRatio ()
void MimeTypeGetDisplayerListL ( RImplInfoPtrArray &, const TDesC8 &)
CImageDisplayPlugin * NewImplL (const TDesC8 &)
CImageDisplayFramework * NewL ( CImageDisplay &, MIclImageDisplayObserver &, RFs &)
TInt NumFrames ( TInt &)
TUint Options ()
void Pause ()
void Play ()
const CImageDisplay::RImageSizeArray & RecommendedImageSizes ()
void Reset ()
void ResetSourceRect ()
void SetDisplayMode ( TDisplayMode )
void SetFlag ( TInt )
TInt SetImageSource (const TMMSource &)
TInt SetOptions ( TUint )
void SetPluginUid ( TUid )
void SetSizeInPixels (const TSize &, TBool )
void SetSourceImageType ( TUid , TUid )
void SetSourceMimeType (const TDesC8 &)
void SetSourceRect (const TRect &)
void SetupL ()
const TDesC8 & SourceData ()
const TDesC & SourceDataId ()
ContentAccess::TIntent SourceDataIntent ()
RFile & SourceFileHandle ()
const TDesC & SourceFilename ()
const TUid SourceImageSubType ()
const TUid SourceImageType ()
const TDesC8 & SourceMimeType ()
TBool SourceRect ( TRect &)
CImageDisplayPlugin::TImageSourceType SourceType ()
void StopPlay ()
void SuffixTypeGetDisplayerListL ( RImplInfoPtrArray &, const TDesC &)
TBool ValidBitmap ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Member Enumerations
enum TFrameworkState { EStateOpened  = 0, EStateConfigured , EStatePluginLoaded , EStateProcessing , EStatePaused }
enum TImageDisplayInternalFlags { EFlagMaintainAspectRatio  = 0x00000001, EFlagSourceRectSet  = 0x00000002 }
Private Attributes
MIclImageDisplayObserver & iCallback
TSize iDestinationSize
TDisplayMode iDisplayMode
TInt iFlags
RFs & iFs
CImageDisplay & iHandle
TUint iOptions
CImageDisplayPlugin * iPlugin
TUid iPluginUid
TImageParameterData iSourceImage
TRect iSourceRect
enum CImageDisplayFramework::TFrameworkState iState

Constructor & Destructor Documentation

CImageDisplayFramework(CImageDisplay &, MIclImageDisplayObserver &, RFs &)

CImageDisplayFramework ( CImageDisplay & aHandle,
MIclImageDisplayObserver & aCallback,
RFs & aFs
) [private]

Parameters

CImageDisplay & aHandle
MIclImageDisplayObserver & aCallback
RFs & aFs

~CImageDisplayFramework()

~CImageDisplayFramework ( ) [private]

~CImageDisplayFramework This is the destructor for the CImageDisplayFramework and is resposible for deallocating all resources allocated by the CImageDisplayFramework

Member Functions Documentation

CallbackImageReady(const CFbsBitmap *, TUint, const TRect &, TInt)

void CallbackImageReady ( const CFbsBitmap * aBitmap,
TUint aStatus,
const TRect & aUpdatedArea,
TInt aError
) [private]

Parameters

const CFbsBitmap * aBitmap
TUint aStatus
const TRect & aUpdatedArea
TInt aError

ClearFlag(TInt)

void ClearFlag ( TInt aFlag ) [private, inline]

Parameters

TInt aFlag

DataNewL(const TDesC8 &, const TUid, const TUid, const TUid)

CImageDisplayPlugin * DataNewL ( const TDesC8 & aSourceData,
const TUid aImageType,
const TUid aImageSubType,
const TUid aPluginUid
) [private]

Creates a displayer for the image in the source buffer.

If the client supplies an image type (and sub-type, if applicable) or displayer UID, these will be used to try and select an appropriate plugin displayer. If not, then the selection will be done by matching the image header from the buffer. If it finds a displayer, it is created and then used to scan the beginning of the image buffer.

leave
KErrUnderflow Not enough data in descriptor to identify which plugin displayer to use.
leave
KEComErrNoInterfaceIdentified No plugin displayers were found.
panic
EIllegalImageSubType No base type given for sub-type.

Parameters

const TDesC8 & aSourceData The buffer containing the image to be displayed.
const TUid aImageType The image type of the image in the file (optional, defaults to KNullUid).
const TUid aImageSubType The image sub-type of the image in the file (optional, defaults to KNullUid).
const TUid aPluginUid The implementation UID for a specific codec (optional, defaults to KNullUid). If this option is selected the image type and image sub type for the displayer must be supplied.

DeletePlugin()

void DeletePlugin ( ) [private, inline]

DestinationSizeInPixels()

const TSize & DestinationSizeInPixels ( ) const [private]

DisplayMode()

TDisplayMode DisplayMode ( ) const [private]

ExtensionInterface(TUid, TAny *&)

TInt ExtensionInterface ( TUid aIFaceUid,
TAny *& aIFacePtr
) [private]

Gets a pointer to a plugin extension

panic
EIllegalCallSequence No plugin loaded.

Parameters

TUid aIFaceUid
TAny *& aIFacePtr

FileHandleNewImplL(RFile &, const TUid, const TUid, const TUid)

CImageDisplayPlugin * FileHandleNewImplL ( RFile & aFileHandle,
const TUid aImageType,
const TUid aImageSubType,
const TUid aPluginUid
) [private]
Create a displayer for the image using the given file handle. If the client supplies an image type (and sub-type, if applicable) or displayer uid, these will be used to try and select an appropriate plugin displayer. If not, then the selection will be done by matching the image header in the file. If it finds a displayer it creates it and then goes on to use that displayer to scan the beginning of the image file.
leave
KErrUnderflow Not enough data in file to identify which plugin displayer to use.
leave
KEComErrNoInterfaceIdentified No plugin displayers were found.
panic
EIllegalImageSubType No base type given for sub-type.
panic
EIllegalImageType No base type given for displayer implementation.

Parameters

RFile & aFileHandle A reference to a file handle that contains an image data
const TUid aImageType The image type of the image in the file (optional, defaults to KNullUid).
const TUid aImageSubType The image sub-type of the image in the file (optional, defaults to KNullUid).
const TUid aPluginUid The implementation uid for a specific codec (optional, defaults to KNullUid). If this option is selected the image type and image sub type for the displayer must be supplied.

FileNewImplL(const TDesC &, const TUid, const TUid, const TUid)

CImageDisplayPlugin * FileNewImplL ( const TDesC & aSourceFilename,
const TUid aImageType,
const TUid aImageSubType,
const TUid aPluginUid
) [private]
Create a displayer for the image in the named file. If the client supplies an image type (and sub-type, if applicable) or displayer uid, these will be used to try and select an appropriate plugin displayer. If not, then the selection will be done by matching the image header in the file. If it finds a displayer it creates it and then goes on to use that displayer to scan the beginning of the image file.
leave
KErrUnderflow Not enough data in file to identify which plugin displayer to use.
leave
KEComErrNoInterfaceIdentified No plugin displayers were found.
panic
EIllegalImageSubType No base type given for sub-type.
panic
EIllegalImageType No base type given for displayer implementation.

Parameters

const TDesC & aSourceFilename The name of the file to be converted.
const TUid aImageType The image type of the image in the file (optional, defaults to KNullUid).
const TUid aImageSubType The image sub-type of the image in the file (optional, defaults to KNullUid).
const TUid aPluginUid The implementation uid for a specific codec (optional, defaults to KNullUid). If this option is selected the image type and image sub type for the displayer must be supplied.

FindDisplayerNewL(const RImplInfoPtrArray &)

CImageDisplayPlugin * FindDisplayerNewL ( const RImplInfoPtrArray & aDisplayerList ) [private]

Scan a sorted list of displayers for the first one that can convert the image.

Parameters

const RImplInfoPtrArray & aDisplayerList A list of displayers that support the image format.

FlagSet(TInt)

TBool FlagSet ( TInt aFlag ) const [private, inline]

Parameters

TInt aFlag

GetBitmap(const CFbsBitmap *&, const CFbsBitmap *&)

void GetBitmap ( const CFbsBitmap *& aBitmap,
const CFbsBitmap *& aMask
) const [private]

Parameters

const CFbsBitmap *& aBitmap
const CFbsBitmap *& aMask

ImageStatus()

TUint ImageStatus ( ) const [private]

ImageTypeGetDisplayerListL(RImplInfoPtrArray &, const TDesC8 &, const TUid, const TUid, const TUid)

void ImageTypeGetDisplayerListL ( RImplInfoPtrArray & aDisplayerList,
const TDesC8 & aImageHeader,
const TUid aImageType,
const TUid aImageSubType,
const TUid aPluginUid
) [private]

Create a list of displayers that support the specified image type.

Parameters

RImplInfoPtrArray & aDisplayerList A list of displayers that support the specified image type.
const TDesC8 & aImageHeader The header of the image file.
const TUid aImageType The image base type.
const TUid aImageSubType The image sub type.
const TUid aPluginUid A specific displayer to convert the image.

MaintainAspectRatio()

TBool MaintainAspectRatio ( ) const [private]

MimeTypeGetDisplayerListL(RImplInfoPtrArray &, const TDesC8 &)

void MimeTypeGetDisplayerListL ( RImplInfoPtrArray & aDisplayerList,
const TDesC8 & aMIMEType
) [private]

Create a list of converts that support the specified MIME type.

panic
EUndefinedMIMEType

Parameters

RImplInfoPtrArray & aDisplayerList Create a list of converts that support the given MIME type.
const TDesC8 & aMIMEType The MIME type to convert.

NewImplL(const TDesC8 &)

CImageDisplayPlugin * NewImplL ( const TDesC8 & aMIMEType ) [private]
Create a display plugin for the image in the named file. The client supplies a MIME type which will be used to try and select an appropriate plugin Displayer. If it finds a Displayer it creates it and then goes on to use that displayer to scan the beginning of the image file.
leave
KEComErrNoInterfaceIdentified No plugin displayers were found.

Parameters

const TDesC8 & aMIMEType The MIME type of the image in the file.

NewL(CImageDisplay &, MIclImageDisplayObserver &, RFs &)

CImageDisplayFramework * NewL ( CImageDisplay & aHandle,
MIclImageDisplayObserver & aCallback,
RFs & aFs
) [private, static]

NewL The function NewL constructs a CImageDisplayFramework

Parameters

CImageDisplay & aHandle
MIclImageDisplayObserver & aCallback
RFs & aFs

NumFrames(TInt &)

TInt NumFrames ( TInt & aNumFrames ) const [private]

Parameters

TInt & aNumFrames

Options()

TUint Options ( ) const [private]

Pause()

void Pause ( ) [private]

Play()

void Play ( ) [private]

RecommendedImageSizes()

const CImageDisplay::RImageSizeArray & RecommendedImageSizes ( ) const [private]

Reset()

void Reset ( ) [private]

ResetSourceRect()

void ResetSourceRect ( ) [private]

SetDisplayMode(TDisplayMode)

void SetDisplayMode ( TDisplayMode aDisplayMode ) [private]

Parameters

TDisplayMode aDisplayMode

SetFlag(TInt)

void SetFlag ( TInt aFlag ) [private, inline]

Parameters

TInt aFlag

SetImageSource(const TMMSource &)

TInt SetImageSource ( const TMMSource & aImageSource ) [private]

Parameters

const TMMSource & aImageSource

SetOptions(TUint)

TInt SetOptions ( TUint aOptions ) [private]

Parameters

TUint aOptions

SetPluginUid(TUid)

void SetPluginUid ( TUid aPluginUid ) [private]

Parameters

TUid aPluginUid

SetSizeInPixels(const TSize &, TBool)

void SetSizeInPixels ( const TSize & aDestinationSize,
TBool aMaintainAspectRatio
) [private]

Parameters

const TSize & aDestinationSize
TBool aMaintainAspectRatio

SetSourceImageType(TUid, TUid)

void SetSourceImageType ( TUid aImageType,
TUid aImageSubType
) [private]

Parameters

TUid aImageType
TUid aImageSubType

SetSourceMimeType(const TDesC8 &)

void SetSourceMimeType ( const TDesC8 & aMIMEType ) [private]

Parameters

const TDesC8 & aMIMEType

SetSourceRect(const TRect &)

void SetSourceRect ( const TRect & aRect ) [private]

Parameters

const TRect & aRect

SetupL()

void SetupL ( ) [private]

SourceData()

const TDesC8 & SourceData ( ) const [private]

SourceDataId()

const TDesC & SourceDataId ( ) const [private, inline]

SourceDataIntent()

ContentAccess::TIntent SourceDataIntent ( ) const [private, inline]

SourceFileHandle()

RFile & SourceFileHandle ( ) const [private]

SourceFilename()

const TDesC & SourceFilename ( ) const [private]

SourceImageSubType()

const TUid SourceImageSubType ( ) const [private]

SourceImageType()

const TUid SourceImageType ( ) const [private]

SourceMimeType()

const TDesC8 & SourceMimeType ( ) const [private]

SourceRect(TRect &)

TBool SourceRect ( TRect & aRect ) const [private]

Parameters

TRect & aRect

SourceType()

CImageDisplayPlugin::TImageSourceType SourceType ( ) const [private]

StopPlay()

void StopPlay ( ) [private]

SuffixTypeGetDisplayerListL(RImplInfoPtrArray &, const TDesC &)

void SuffixTypeGetDisplayerListL ( RImplInfoPtrArray & aDisplayerList,
const TDesC & aFileName
) [private]

Create a list of displayers that support the specified file extension.

Parameters

RImplInfoPtrArray & aDisplayerList Create a list of displayers that support the given file extension.
const TDesC & aFileName The file name from which the file extension will be taken.

ValidBitmap()

TBool ValidBitmap ( ) const [private]

Member Enumerations Documentation

Enum TFrameworkState

Enumerators

EStateOpened = 0
EStateConfigured
EStatePluginLoaded
EStateProcessing
EStatePaused

Enum TImageDisplayInternalFlags

Enumerators

EFlagMaintainAspectRatio = 0x00000001
EFlagSourceRectSet = 0x00000002

Member Data Documentation

MIclImageDisplayObserver & iCallback

MIclImageDisplayObserver & iCallback [private]

TSize iDestinationSize

TSize iDestinationSize [private]

TDisplayMode iDisplayMode

TDisplayMode iDisplayMode [private]

TInt iFlags

TInt iFlags [private]

RFs & iFs

RFs & iFs [private]

CImageDisplay & iHandle

CImageDisplay & iHandle [private]

TUint iOptions

TUint iOptions [private]

CImageDisplayPlugin * iPlugin

CImageDisplayPlugin * iPlugin [private]

TUid iPluginUid

TUid iPluginUid [private]

TImageParameterData iSourceImage

TImageParameterData iSourceImage [private]

TRect iSourceRect

TRect iSourceRect [private]

enum CImageDisplayFramework::TFrameworkState iState

enum CImageDisplayFramework::TFrameworkState iState [private]