CImageReadCodec Class Reference

class CImageReadCodec : public CBase

Provides read related processing functions for bitmaps.

Note: For use by plugin writers only.

Inherits from

Constructor & Destructor Documentation

CImageReadCodec()

IMPORT_C CImageReadCodec ( ) [protected]

Default constructor.

~CImageReadCodec()

IMPORT_C ~CImageReadCodec ( )

Destructor.

Member Functions Documentation

ClearBitmapL(CFbsBitmap &, TRgb)

IMPORT_C void ClearBitmapL ( CFbsBitmap & aBitmap,
TRgb aColor
) [protected]

Paints the entire bitmap aBitmap with the color supplied as aColor.

Parameters

CFbsBitmap & aBitmap A reference to a fully constructed bitmap.
TRgb aColor The color to use for painting.

Complete()

IMPORT_C void Complete ( ) [virtual]

Processes/displays converted image data.

This function is called on frame completion and on underflow. The default version of this function does nothing. It should be implemented by the codec if required.

If it is called on underflow for example, it can enable display of a partially decoded image. In such cases this function could display all the image data up to the point of the underflow.

ConstructL()

IMPORT_C void ConstructL ( ) [protected]

Second phase constructor.

CurrentFrame()

IMPORT_C TInt CurrentFrame ( ) const [protected]

Return the current frame number

GetNewDataPosition(TInt &, TInt &)

IMPORT_C void GetNewDataPosition ( TInt & aPosition,
TInt & aLength
) [virtual]

Returns a new position and number of bytes to read for the data stream.

The default version of this function does nothing. It should be implemented by the codec, if required.

Parameters

TInt & aPosition A reference to the returned new position.
TInt & aLength A reference to the number of bytes to read.

InitFrameHeader(TFrameInfo &, CFrameImageData &)

IMPORT_C void InitFrameHeader ( TFrameInfo & aFrameInfo,
CFrameImageData & aFrameData
) [virtual]

Used to initialise the frame header data structures.

The default version of this function does nothing. It should be implemented by the codec to at least update the appropriate processing state of the current frame using its TFrameInfo structure.

Parameters

TFrameInfo & aFrameInfo A reference to a TFrameInfo object which will contain the current frame's header info
CFrameImageData & aFrameData A reference to a TFrameInfo object which will contain the current frame's header data

InitFrameL(TFrameInfo &, CFrameImageData &, TBool, CFbsBitmap &, CFbsBitmap *)

void InitFrameL ( TFrameInfo & aFrameInfo,
CFrameImageData & aFrameImageData,
TBool aDisableErrorDiffusion,
CFbsBitmap & aDestination,
CFbsBitmap * aDestinationMask
) [pure virtual]

Performs initial processing of image data and mask bitmaps.

This function processes the image frame using data supplied in aFrameInfo, aFrameImageData and using the flag aDisableErrorDiffusion. Not all codecs are expected to make use of all fields.

This is a virtual function that each derived class must implement.

Parameters

TFrameInfo & aFrameInfo A reference to a TFrameInfo object.
CFrameImageData & aFrameImageData A reference to a CFrameImageData object.
TBool aDisableErrorDiffusion A flag indicating whether error diffusion should be disabled.
CFbsBitmap & aDestination The destination bitmap.
CFbsBitmap * aDestinationMask The destination mask bitmap.

ProcessFrameHeaderL(TBufPtr8 &)

IMPORT_C TFrameState ProcessFrameHeaderL ( TBufPtr8 & aData ) [virtual]

Processes the header for one frame.

The default version of this function and simply returns EFrameComplete. It should be implemented by the codec to at least update the appropriate processing state of the current frame using its TFrameInfo structure.

Parameters

TBufPtr8 & aData A reference to a TBufPtr8 that contains the frame data.

ProcessFrameL(TBufPtr8 &)

TFrameState ProcessFrameL ( TBufPtr8 & aSrc ) [pure virtual]

Processes the frame data contained in aSrc.

This is a pure virtual function that each derived class must implement.

Parameters

TBufPtr8 & aSrc A reference to the buffer containing the frame data.

ReducedSize(const TSize &, TInt, TSize &)

IMPORT_C TInt ReducedSize ( const TSize & aOriginalSize,
TInt aReductionFactor,
TSize & aReducedSize
) const [virtual]

Calculates reduced size of the decoded bitmap based on the input parameters and updates aReducedSize with this value. The default Implementation is given here. It should be implemented by the Codecs, If required.

Parameters

const TSize & aOriginalSize A reference to the original size of an image.
TInt aReductionFactor
TSize & aReducedSize A reference to the new size of an image.

ReductionFactor(const TSize &, const TSize &)

IMPORT_C TInt ReductionFactor ( const TSize & aOriginalSize,
const TSize & aReducedSize
) const [virtual]

Calculates reduction factor based on the input parameters. The default Implementation is given here. It should be implemented by the Codecs, If required.

Parameters

const TSize & aOriginalSize A reference to the original size of an image.
const TSize & aReducedSize A reference to the new size of an image.

ReservedVirtual1()

IMPORT_C void ReservedVirtual1 ( ) [private, virtual]

Intended for future proofing - will panic if called

panic
ImageConversion 30

ReservedVirtual2()

IMPORT_C void ReservedVirtual2 ( ) [private, virtual]

Intended for future proofing - will panic if called

panic
ImageConversion 30

ReservedVirtual3()

IMPORT_C void ReservedVirtual3 ( ) [private, virtual]

Intended for future proofing - will panic if called

panic
ImageConversion 30

ReservedVirtual4()

IMPORT_C void ReservedVirtual4 ( ) [private, virtual]

Intended for future proofing - will panic if called

panic
ImageConversion 30

SetCurrentFrame(TInt)

void SetCurrentFrame ( TInt aFrameNumber )

Sets the current frame number. Called by the framework before InitFrameHeader() and InitFrameL()

Parameters

TInt aFrameNumber The current frame number

Member Data Documentation

TInt iCurrentFrame

TInt iCurrentFrame [private]