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 TIntExtensionInterface(TUid, TAny *&)
IMPORT_C voidGetBitmap(const CFbsBitmap *&, const CFbsBitmap *&)
IMPORT_C TUintImageStatus()
IMPORT_C CImageDisplay *NewL(MIclImageDisplayObserver &, RFs &)
IMPORT_C TIntNumFrames(TInt &)
IMPORT_C voidPause()
IMPORT_C voidPlay()
IMPORT_C const RImageSizeArray &RecommendedImageSizes()
IMPORT_C voidReset()
IMPORT_C voidResetSourceRect()
IMPORT_C voidSetDisplayMode(TDisplayMode)
IMPORT_C TIntSetImageSource(const TMMSource &)
IMPORT_C TIntSetOptions(TUint)
IMPORT_C voidSetPluginUid(TUid)
IMPORT_C voidSetSizeInPixels(const TSize &, TBool)
IMPORT_C voidSetSourceImageType(TUid, TUid)
IMPORT_C voidSetSourceMimeType(const TDesC8 &)
IMPORT_C voidSetSourceRect(const TRect &)
IMPORT_C voidSetupL()
IMPORT_C voidStopPlay()
IMPORT_C TBoolValidBitmap()
Private Member Functions
CImageDisplay()
voidConstructL(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
enumTImageOptions {
EOptionsUndefined = 0x00000000, EOptionThumbnail = 0x00000001, EOptionMainImage = 0x00000002, EOptionRotateCw90 = 0x00000004, EOptionRotateCw180 = 0x00000008, EOptionRotateCw270 = 0x00000010, EOptionMirrorHorizontal = 0x00000020, EOptionMirrorVertical = 0x00000040, EOptionAutoRotate = 0x00000080
}
enumTImageStatus {
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 &)

voidConstructL(MIclImageDisplayObserver &aCallback,
RFs &aFs
)[private]

Performs second phase of construction

Parameters

MIclImageDisplayObserver & aCallbackA reference to an observer interface implementation
RFs & aFsA reference to a file server session for the display API to use.

ExtensionInterface(TUid, TAny *&)

IMPORT_C TIntExtensionInterface(TUidaIFaceUid,
TAny *&aIFacePtr
)
Gets a pointer to a plugin extension
panic
ImageDisplay 1 EIllegalCallSequence No plugin loaded.

Parameters

TUid aIFaceUidRequested extension interface Uid
TAny *& aIFacePtrReference to pointer which would have interface pointer on sucessful completion, otherwise NULL

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

IMPORT_C voidGetBitmap(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 *& aBitmapReference to pointer which would have current frame bitmap address.
const CFbsBitmap *& aMaskReference 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 TUintImageStatus()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 & aCallbackA reference to a Image Display observer object which would recieve status notifications
RFs & aFsA reference to a file server session for the display API to use.

NumFrames(TInt &)

IMPORT_C TIntNumFrames(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 & aNumFramesa reference to frame number parameter which has meaning only if retrun value is KErrNone

Pause()

IMPORT_C voidPause()

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 voidPlay()

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 voidReset()

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 voidResetSourceRect()

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 voidSetDisplayMode(TDisplayModeaDisplayMode)

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 aDisplayModeThe requested display mode

SetImageSource(const TMMSource &)

IMPORT_C TIntSetImageSource(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 & aSourceThe 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 TIntSetOptions(TUintaOptions)

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 voidSetPluginUid(TUidaPluginUid)

Specifies the UID of the image display plugin to load

panic
ImageDisplay 1 EIllegalCallSequence Raised when a plugin is already loaded

Parameters

TUid aPluginUidThe plugin's implementation UID

SetSizeInPixels(const TSize &, TBool)

IMPORT_C voidSetSizeInPixels(const TSize &aSize,
TBoolaMaintainAspectRatio = 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 & aSizeThe requested size of the image in pixels
TBool aMaintainAspectRatio = ETrueRequests that the aspect ratio be maintained as far as possible Defaults to true

SetSourceImageType(TUid, TUid)

IMPORT_C voidSetSourceImageType(TUidaImageType,
TUidaImageSubType = 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 aImageTypeThe UID of the source image's type
TUid aImageSubType = KNullUidThe UID of the source image's subtype

SetSourceMimeType(const TDesC8 &)

IMPORT_C voidSetSourceMimeType(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 & aMIMETypeThe MIME type of the source image

SetSourceRect(const TRect &)

IMPORT_C voidSetSourceRect(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 & aRectThe coordinates of the clipping region

SetupL()

IMPORT_C voidSetupL()

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 voidStopPlay()

Cancels any image display operation currently in progress.

panic
ImageDisplay 1 EIllegalCallSequence Raised when no plugin loaded yet.

ValidBitmap()

IMPORT_C TBoolValidBitmap()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]