CImageDisplay Class Reference

class CImageDisplay : public CBase

The public API for clients to call the Image Display library. This class provides functions to convert images stored in descriptors or files to bitmaps ready for display.

Inherits from

Public Member Functions
~CImageDisplay ()
IMPORT_C TInt ExtensionInterface ( TUid , TAny *&)
IMPORT_C void GetBitmap (const CFbsBitmap *&, const CFbsBitmap *&)
IMPORT_C TUint ImageStatus ()
IMPORT_C CImageDisplay * NewL ( MIclImageDisplayObserver &, RFs &)
IMPORT_C TInt NumFrames ( TInt &)
IMPORT_C void Pause ()
IMPORT_C void Play ()
IMPORT_C const RImageSizeArray & RecommendedImageSizes ()
IMPORT_C void Reset ()
IMPORT_C void ResetSourceRect ()
IMPORT_C void SetDisplayMode ( TDisplayMode )
IMPORT_C TInt SetImageSource (const TMMSource &)
IMPORT_C TInt SetOptions ( TUint )
IMPORT_C void SetPluginUid ( TUid )
IMPORT_C void SetSizeInPixels (const TSize &, TBool )
IMPORT_C void SetSourceImageType ( TUid , TUid )
IMPORT_C void SetSourceMimeType (const TDesC8 &)
IMPORT_C void SetSourceRect (const TRect &)
IMPORT_C void SetupL ()
IMPORT_C void StopPlay ()
IMPORT_C TBool ValidBitmap ()
Private Member Functions
CImageDisplay ()
void ConstructL ( MIclImageDisplayObserver &, RFs &)
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()
Public Member Enumerations
enum TImageOptions {
EOptionsUndefined  = 0x00000000, EOptionThumbnail  = 0x00000001, EOptionMainImage  = 0x00000002, EOptionRotateCw90  = 0x00000004, EOptionRotateCw180  = 0x00000008, EOptionRotateCw270  = 0x00000010, EOptionMirrorHorizontal  = 0x00000020, EOptionMirrorVertical  = 0x00000040, EOptionAutoRotate  = 0x00000080
}
enum TImageStatus {
EImageTypeUnknown  = 0x00000000, EImageSingleFrame  = 0x00000001, EImageMultiFrame  = 0x00000002, EImageAnimated  = 0x00000004, EImageMasked  = 0x00000008, EImageHasThumbnail  = 0x00000010, EImageIsFullyScalable  = 0x00000020
}
Public Member Type Definitions
typedef RArray < TSize > RImageSizeArray
Private Attributes
CImageDisplayFramework * iBody

Constructor & Destructor Documentation

CImageDisplay()

CImageDisplay ( ) [private]

Constructor for this class.

~CImageDisplay()

IMPORT_C ~CImageDisplay ( )

This is the destructor for this class and is responsible for deallocating all resources

Member Functions Documentation

ConstructL(MIclImageDisplayObserver &, RFs &)

void ConstructL ( MIclImageDisplayObserver & aCallback,
RFs & aFs
) [private]

Performs second phase of construction

Parameters

MIclImageDisplayObserver & aCallback A reference to an observer interface implementation
RFs & aFs A reference to a file server session for the display API to use.

ExtensionInterface(TUid, TAny *&)

IMPORT_C TInt ExtensionInterface ( TUid aIFaceUid,
TAny *& aIFacePtr
)
Gets a pointer to a plugin extension
panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

Parameters

TUid aIFaceUid Requested extension interface Uid
TAny *& aIFacePtr Reference to pointer which would have interface pointer on sucessful completion, otherwise NULL

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

IMPORT_C void GetBitmap ( const CFbsBitmap *& aBitmap,
const CFbsBitmap *& aMask
) const

Gets a reference to the current bitmap and mask

panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded or decoding was not started
SetDisplayMode

Parameters

const CFbsBitmap *& aBitmap Reference to pointer which would have current frame bitmap address.
const CFbsBitmap *& aMask Reference to pointer which would have current frame mask address. This is NULL if no mask is available or if aBitmap has a display mode of EColor16MA (see SetDisplayMode()).

ImageStatus()

IMPORT_C TUint ImageStatus ( ) const
returns an integer, corresponding to the current image status (if known), the value will be comprised of elements of the TImageStatus bit field
panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

NewL(MIclImageDisplayObserver &, RFs &)

IMPORT_C CImageDisplay * NewL ( MIclImageDisplayObserver & aCallback,
RFs & aFs
) [static]

Constructs a CImageDisplay object.

Parameters

MIclImageDisplayObserver & aCallback A reference to a Image Display observer object which would recieve status notifications
RFs & aFs A reference to a file server session for the display API to use.

NumFrames(TInt &)

IMPORT_C TInt NumFrames ( TInt & aNumFrames ) const
returns the number of frames (if known) or an error code if unknown.
panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

Parameters

TInt & aNumFrames a reference to frame number parameter which has meaning only if retrun value is KErrNone

Pause()

IMPORT_C void Pause ( )

Instructs a plug-in to pause its operation. An operation can be resumed by calling the Play() The framework will panic if no plugin has been instantiated already and Play() has not been called yet.

panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

Play()

IMPORT_C void Play ( )

Initiates an image display operation. The framework will panic if no plugin has been instantiated already. Note: That a plugin may perform some asynchronous operations within the current thread, so yielding to the Active Scheduler after calling this function is almost mandatory

panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.
panic
ImageDisplay 3 EUndefinedDestSize Raised when destination image size is not defined yet

RecommendedImageSizes()

IMPORT_C const RImageSizeArray & RecommendedImageSizes ( ) const
Returns an array of recommended image sizes i.e. sizes which would be processed faster
panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

Reset()

IMPORT_C void Reset ( )

Resets all SetXXX() calls so that the state is the same as that immediately after a call to NewL() . Deletes the plugin if one is loaded.

ResetSourceRect()

IMPORT_C void ResetSourceRect ( )

Clears settings for the clipping region, but not the image region

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

SetDisplayMode(TDisplayMode)

IMPORT_C void SetDisplayMode ( TDisplayMode aDisplayMode )

Specifies the requested image display mode.

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

Parameters

TDisplayMode aDisplayMode The requested display mode

SetImageSource(const TMMSource &)

IMPORT_C TInt SetImageSource ( const TMMSource & aSource )

Specifies the source of the image to display

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage

Parameters

const TMMSource & aSource The data source container. Note that the framework doesn't take a copy of actual data/filename etc. and they must persist during decoding

SetOptions(TUint)

IMPORT_C TInt SetOptions ( TUint aOptions )

Defines how the image is to be displayed.

Note that all plugins support EOptionMainImage, whereas the availability of the other options depends on the image display plugin loaded.

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

Parameters

TUint aOptions - image type selected using the TImageOptions flag set

SetPluginUid(TUid)

IMPORT_C void SetPluginUid ( TUid aPluginUid )

Specifies the UID of the image display plugin to load

panic
ImageDisplay 1 EIllegalCallSequence Raised when a plugin is already loaded

Parameters

TUid aPluginUid The plugin's implementation UID

SetSizeInPixels(const TSize &, TBool)

IMPORT_C void SetSizeInPixels ( const TSize & aSize,
TBool aMaintainAspectRatio = ETrue
)

Specifies the requested image size.

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

Parameters

const TSize & aSize The requested size of the image in pixels
TBool aMaintainAspectRatio = ETrue Requests that the aspect ratio be maintained as far as possible Defaults to true

SetSourceImageType(TUid, TUid)

IMPORT_C void SetSourceImageType ( TUid aImageType,
TUid aImageSubType = KNullUid
)

Specifies the source image's type and (optionally) its subtype

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

Parameters

TUid aImageType The UID of the source image's type
TUid aImageSubType = KNullUid The UID of the source image's subtype

SetSourceMimeType(const TDesC8 &)

IMPORT_C void SetSourceMimeType ( const TDesC8 & aMIMEType )

Specifies the MIME type of the source image.

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage

Parameters

const TDesC8 & aMIMEType The MIME type of the source image

SetSourceRect(const TRect &)

IMPORT_C void SetSourceRect ( const TRect & aRect )

Defines a clipping region. Only the specified region will be processed.

panic
ImageDisplay 1 EIllegalCallSequence Raised if the function was called during decoding stage or a plugin is not loaded yet

Parameters

const TRect & aRect The coordinates of the clipping region

SetupL()

IMPORT_C void SetupL ( )

Requests that a suitable plugin be selected and instantiated. Leaves with KErrNotFound if no suitable plugin found or if the framework or plugin finds any error in any of the preceeding SetXXX() calls

leave
KErrNotFound No suitable plugin was found
leave
KErrArgument One of the previously supplied parameters (image size, mime type etc.) is invalid
panic
ImageDisplay 2 EUndefinedSourceType Raised when image source is not defined yet

StopPlay()

IMPORT_C void StopPlay ( )

Cancels any image display operation currently in progress.

panic
ImageDisplay 1 EIllegalCallSequence Raised when no plugin loaded yet.

ValidBitmap()

IMPORT_C TBool ValidBitmap ( ) const

Check to see if the current frame can be displayed now

panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded or decoding was not started

Member Enumerations Documentation

Enum TImageOptions

Flags to control how the image is handled These can be combined using an OR operation. Note that the rotate and mirror options have to be set together with EOptionThumbnail or EOptionMainImage.

Enumerators

EOptionsUndefined = 0x00000000

No options defined

EOptionThumbnail = 0x00000001

Use the thumbnail image as source

EOptionMainImage = 0x00000002

Use the main image as source

EOptionRotateCw90 = 0x00000004

Rotate the image by 90 degrees clockwise

EOptionRotateCw180 = 0x00000008

Rotate the image by 180 degrees clockwise

EOptionRotateCw270 = 0x00000010

Rotate the image by 270 degrees clockwise

EOptionMirrorHorizontal = 0x00000020

Mirror an image about the horizontal axis

EOptionMirrorVertical = 0x00000040

Mirror an image about the vertical axis

EOptionAutoRotate = 0x00000080

Rotate the image automatically (if necessary)

Enum TImageStatus

Return flags from ImageStatus()

Enumerators

EImageTypeUnknown = 0x00000000

ImageStatus is unknown

EImageSingleFrame = 0x00000001

Image is single frame

EImageMultiFrame = 0x00000002

Image is multiframe

EImageAnimated = 0x00000004

Image is animated

EImageMasked = 0x00000008

Image has got a mask/alpha channel

EImageHasThumbnail = 0x00000010

Image has got a thumbnail

EImageIsFullyScalable = 0x00000020

Image is fully scalable i.e. arbitrary scaling can be perofmed quite quickly

Member Type Definitions Documentation

Typedef RImageSizeArray

typedef RArray < TSize > RImageSizeArray

An array containing the sizes of images.

Member Data Documentation

CImageDisplayFramework * iBody

CImageDisplayFramework * iBody [private]