ImageProcessor::CImgProcessor Class Reference

class ImageProcessor::CImgProcessor : public CBase
This class provides functions to process images. Those operations can be divided in two groups:
  • effects.

  • geometrical operations.

Good examples of effects could be the Sepia effect applying shades of brown to an image, or the solarize effect that consists in reversing the tones of a picture and make it look like a negative. Good examples of geometrical operations could be Rotation or Flip.

The image processor will decode and render an image:

Inputs can be
  • compressed images (JPEG, GIF, PNG etc)

  • uncompressed images ( CFbsBitmap and general pixel buffers e.g. YUV 4:2:0 Interleaved etc)

Outputs can be
  • compressed images (JPEG, GIF, PNG etc)

  • uncompressed images ( CFbsBitmap and general pixel buffers e.g. YUV 4:2:0 Interleaved etc)

An intermediate generally low resolution uncompressed image providing a preview representation of the output of the processing is provided allowing applications to display the results of the operations applied without needing to fully render the image. Multiple previews are allowed.

Images may be overlaid onto the main source image.

The source image can be changed and the current effects and geometric oprations will be re-applied to the new image. The previews will be updated.

Inherits from

  • ImageProcessor::CImgProcessor
Public Member Functions
~CImgProcessor ()
IMPORT_C void ApplyOperationL ( CImgProcessor::TOperation )
IMPORT_C TRgb BackgroundColorL ()
IMPORT_C TInt CalculatePixelBufferSizeL ( TSize , TDisplayMode , TUint32 )
IMPORT_C TInt CalculatePixelBufferSizeL ( TSize , const TUid &, TUint32 )
IMPORT_C TBool CanRedoL ()
IMPORT_C TBool CanUndoL ()
IMPORT_C void Cancel ()
IMPORT_C void ConvertFileExtensionToUidL (const TDesC &, TUid &, TUid &)
IMPORT_C void ConvertMimeTypeToUidL (const TDesC8 &, TUid &, TUid &)
IMPORT_C void ConvertUidToFileExtensionL ( TDes &, const TUid &, const TUid &)
IMPORT_C void ConvertUidToMimeTypeL ( TDes8 &, const TUid &, const TUid &)
IMPORT_C void CreateInputL ( CFbsBitmap &)
IMPORT_C void CreateInputL ( CImageFrame &)
IMPORT_C void CreateInputL (const TSize &, const TRgb &)
IMPORT_C TSize CurrentSizeL ()
IMPORT_C TEffect * EffectL ( TUid )
IMPORT_C TAny * Extension ( TUid )
IMPORT_C void InitializeL ()
IMPORT_C void InitializeL ( TUint64 )
IMPORT_C TInputInfo * InputInfoL ()
IMPORT_C void InputUpdatedL ()
IMPORT_C CImgProcessor * NewL ( RFs &, MImgProcessorObserver &, TUid )
IMPORT_C TUint64 Options ()
IMPORT_C TOutputInfo * OutputInfoL ()
IMPORT_C TOverlay * OverlayL ()
IMPORT_C TPreview * PreviewL ( TInt )
IMPORT_C void ProcessL ()
IMPORT_C void ProcessL (const TSize &, TBool )
IMPORT_C TProgressInfo * ProgressInfoL ()
IMPORT_C void RedoAllL ()
IMPORT_C void RedoL ()
IMPORT_C void ResetL ()
IMPORT_C void SetBackgroundColorL (const TRgb &)
IMPORT_C void SetInputL (const TDesC &, const TUid &, const TUid &)
IMPORT_C void SetInputL ( RFile &, const TUid &, const TUid &)
IMPORT_C void SetInputL ( TMMSource &, const TUid &, const TUid &)
IMPORT_C void SetInputL (const TDesC8 &, const TUid &, const TUid &)
IMPORT_C void SetInputL (const CFbsBitmap &, const CFbsBitmap *)
IMPORT_C void SetInputL (const CImageFrame &)
IMPORT_C void SetInputL (CImagePanorama &)
IMPORT_C void SetInputRectL (const TRect &)
IMPORT_C void SetOptionsL ( TUint64 )
IMPORT_C void SetOutputL (const TDesC &, const TUid &, const TUid &)
IMPORT_C void SetOutputL ( RFile &, const TUid &, const TUid &)
IMPORT_C void SetOutputL ( RBuf8 &, const TUid &, const TUid &)
IMPORT_C void SetOutputL ( CImageFrame &)
IMPORT_C void SetOutputL ( CFbsBitmap &, CFbsBitmap *)
IMPORT_C TState State ()
IMPORT_C void SupportedEffectsL ( RArray < TUid > &)
IMPORT_C void SupportedInputDisplayModesL ( RArray < TDisplayMode > &)
IMPORT_C void SupportedInputFormatsL ( RArray < TUid > &)
IMPORT_C void SupportedInputImageFrameFormatsL ( RArray < TUid > &)
IMPORT_C void SupportedInputSubFormatsL ( TUid , RArray < TUid > &)
IMPORT_C TUint SupportedOperations ()
IMPORT_C TUint64 SupportedOptions ()
IMPORT_C void SupportedOutputDisplayModesL ( RArray < TDisplayMode > &)
IMPORT_C void SupportedOutputFormatsL ( RArray < TUid > &)
IMPORT_C void SupportedOutputImageFrameFormatsL ( RArray < TUid > &)
IMPORT_C void SupportedOutputSubFormatsL ( TUid , RArray < TUid > &)
IMPORT_C void UndoAllL ()
IMPORT_C void UndoL ()
Private Member Functions
CImgProcessor ()
void ConstructL ( RFs &, MImgProcessorObserver &, TUid )
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 TEvent {
EEventInitializing  = 0, EEventInitializingComplete , EEventProcessing , EEventProcessingComplete , EEventRendering , EEventRenderingComplete , EEventPreviewInitializing , EEventPreviewInitializingComplete , EEventPreviewRendering , EEventPreviewRenderingComplete
}
enum TOperation {
EOperationNone  = 0x0, EOperationRotate90  = 0x1, EOperationRotate180  = 0x2, EOperationRotate270  = 0x4, EOperationMirrorHorizontalAxis  = 0x8, EOperationMirrorHorizontalAxisRotate90  = 0x10, EOperationMirrorVerticalAxis  = 0x20, EOperationMirrorVerticalAxisRotate90  = 0x40
}
enum TOptions { EOptionNone  = 0x00, EOptionSyncProcessing  = 0x01, EOptionExifMetadataProcessing  = 0x02 }
enum TState {
EUninitialized  = 0, EInitializing , EInitialized , EEffectActive , EProcessing , EPreviewInitializing , EPreviewRendering , EStatesCount
}
Private Attributes
CImageProcessorImpl * iImplementation

Constructor & Destructor Documentation

CImgProcessor()

CImgProcessor ( ) [private]

~CImgProcessor()

IMPORT_C ~CImgProcessor ( )

Member Functions Documentation

ApplyOperationL(CImgProcessor::TOperation)

IMPORT_C void ApplyOperationL ( CImgProcessor::TOperation aOperation )

Applies a geometrical operation to the image. The image processor needs to be in an initialized state.

Parameters

CImgProcessor::TOperation aOperation The geometrical operation to be applied.

BackgroundColorL()

IMPORT_C TRgb BackgroundColorL ( ) const

Retrieves the current background color.

leave
KErrNotReady The input of the image processor is not set.
leave
Other A range of system wide error codes.

CalculatePixelBufferSizeL(TSize, TDisplayMode, TUint32)

IMPORT_C TInt CalculatePixelBufferSizeL ( TSize aSizeInPixels,
TDisplayMode aDisplayMode,
TUint32 aScanLineLength = 0
) const

Calculates the required pixel buffer size in bytes for the destination image given display mode and scan line length.

leave
KErrNotReady The image processor is not in EUninitialized state.
leave
Other A range of system wide error codes.

Parameters

TSize aSizeInPixels The size in pixels of the image to calculate buffer size for.
TDisplayMode aDisplayMode The display mode of the destination image to calculate buffer size for. section for details.
TUint32 aScanLineLength = 0 Number of bytes per image row.

CalculatePixelBufferSizeL(TSize, const TUid &, TUint32)

IMPORT_C TInt CalculatePixelBufferSizeL ( TSize aSizeInPixels,
const TUid & aFormat,
TUint32 aScanLineLength = 0
) const

Calculates the required pixel buffer size in bytes for the destination image given destination uncompressed image format and scan line length.

leave
KErrNotReady The image processor is not in EUninitialized state.
leave
Other A range of system wide error codes.

Parameters

TSize aSizeInPixels The size in pixels of the raw image to calculate buffer size for.
const TUid & aFormat The format of the raw image to calculate buffer size for (one of the valid CImageFrame formats). section for details.
TUint32 aScanLineLength = 0 Number of bytes per image row.

CanRedoL()

IMPORT_C TBool CanRedoL ( ) const

Determines if there are operations on the operation stack which can be re-applied.

leave
KErrNotReady The image processor is not initialized or input is not set.

CanUndoL()

IMPORT_C TBool CanUndoL ( ) const

Determines if there are operations on the operation stack which can be 'undone'.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

Cancel()

IMPORT_C void Cancel ( )

Cancels any current asynchronous operation, for example preview or output rendering. Ignored if no asynchronous operation is in progress.

ConstructL(RFs &, MImgProcessorObserver &, TUid)

void ConstructL ( RFs & aFileServerSession,
MImgProcessorObserver & aObserver,
TUid aPluginUid
) [private]

Parameters

RFs & aFileServerSession
MImgProcessorObserver & aObserver
TUid aPluginUid

ConvertFileExtensionToUidL(const TDesC &, TUid &, TUid &)

IMPORT_C void ConvertFileExtensionToUidL ( const TDesC & aFileExtension,
TUid & aFormat,
TUid & aSubFormat
) const

Converts a given file extension to format and sub-format UIDs.

leave
KErrNotFound The given file extension is not found in existing formats.
leave
Other A range of system wide error codes.

Parameters

const TDesC & aFileExtension The file extension to convert.
TUid & aFormat The format UID corresponding to the given file extension.
TUid & aSubFormat The sub-format UID corresponding to the given file extension.

ConvertMimeTypeToUidL(const TDesC8 &, TUid &, TUid &)

IMPORT_C void ConvertMimeTypeToUidL ( const TDesC8 & aMimeType,
TUid & aFormat,
TUid & aSubFormat
) const

Converts a given mime type to format and sub-format UIDs.

leave
KErrNotFound The given mime type is not found in existing formats.
leave
Other A range of system wide error codes.

Parameters

const TDesC8 & aMimeType The mime type to convert.
TUid & aFormat The format UID corresponding to the given mime type.
TUid & aSubFormat The sub-format UID corresponding to the given mime type.

ConvertUidToFileExtensionL(TDes &, const TUid &, const TUid &)

IMPORT_C void ConvertUidToFileExtensionL ( TDes & aFileExtension,
const TUid & aFormat,
const TUid & aSubFormat
) const

Converts a format and sub-format UIDs to a file extension.

leave
KErrNotFound The given format UID is not found in existing file extensions.
leave
Other A range of system wide error codes.

Parameters

TDes & aFileExtension The file extension corresponding to the given format and sub-format UIDs. (Consider re-ordering these parameters)
const TUid & aFormat The format UID to convert.
const TUid & aSubFormat The sub-format UID to convert.

ConvertUidToMimeTypeL(TDes8 &, const TUid &, const TUid &)

IMPORT_C void ConvertUidToMimeTypeL ( TDes8 & aMimeType,
const TUid & aFormat,
const TUid & aSubFormat
) const

Converts a format and sub-format UID to a mime type.

leave
KErrNotFound The given format UID is not found in existing mime types.
leave
Other A range of system wide error codes.

Parameters

TDes8 & aMimeType Returns the mime type corresponding to the given format and sub-format UIDs. (Consider re-ordering these parameters)
const TUid & aFormat The format UID to convert.
const TUid & aSubFormat The sub-format UID to convert.

CreateInputL(CFbsBitmap &)

IMPORT_C void CreateInputL ( CFbsBitmap & aBitmap )

Creates internal pixel buffer for the input and copies data from source bitmap to internal buffer

leave
KErrNotReady The image processor is not initialized.
leave
KErrArgument The input bitmap size is 0.
leave
Other A range of system wide error codes.

Parameters

CFbsBitmap & aBitmap The bitmap to copy.

CreateInputL(CImageFrame &)

IMPORT_C void CreateInputL ( CImageFrame & aPixelBuffer )

Creates internal pixel buffer the for the source image and copies data from the image frame to the internal buffer

leave
KErrNotReady The image processor is not initialized.
leave
KErrArgument The input bitmap size is 0.
leave
Other A range of system wide error codes.

Parameters

CImageFrame & aPixelBuffer The image frame to copy.

CreateInputL(const TSize &, const TRgb &)

IMPORT_C void CreateInputL ( const TSize & aSize,
const TRgb & aColor
)

Creates internal pixel buffer for the source image using the given size and initializes source image with the given color.

leave
KErrNotReady The image processor is not initialized.
leave
KErrArgument The input bitmap size is 0.
leave
Other A range of system wide error codes.

Parameters

const TSize & aSize The size of the new source image.
const TRgb & aColor The color of the new source image.

CurrentSizeL()

IMPORT_C TSize CurrentSizeL ( ) const

Retrieves the size of the current source image.

leave
KErrNotReady The input image source data hasn't been set.
leave
Other A range of system wide error codes.

EffectL(TUid)

IMPORT_C TEffect * EffectL ( TUid aEffect )

Retrieves the interface to an specific effect (e.g. Sepia effect) given an effect UID.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNotSupported The given effect is not supported.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

Parameters

TUid aEffect

Extension(TUid)

IMPORT_C TAny * Extension ( TUid aExtension )

Retrieves a non-standard extension on the image processor.

Parameters

TUid aExtension The UID of the extension to be retrieved

InitializeL()

IMPORT_C void InitializeL ( )

Initializes the image processor asynchronously. After this asynchronous call completes,the image processor's state should normally be EInitialized.

leave
KErrNotReady The image processor has already been initialized.
leave
Other A range of system wide error codes.

InitializeL(TUint64)

IMPORT_C void InitializeL ( TUint64 aOptions )

Initializes the image processor. After the initialization completes, the image processor's state should normally be EInitialized.

leave
KErrNotReady The image processor has already been initialized.
leave
KErrNotSupported The option to set to the image processor is not supported.
leave
Other A range of system wide error codes.

Parameters

TUint64 aOptions The options to set to this image processor with the initialization.

InputInfoL()

IMPORT_C TInputInfo * InputInfoL ( )

Retrieves information about the current source image.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

InputUpdatedL()

IMPORT_C void InputUpdatedL ( )

This method needs to be called when the input image source data has been updated externally.

leave
KErrNotReady The image processor is not initialized or input image source data hasn't been set.
leave
Other A range of system wide error codes.

NewL(RFs &, MImgProcessorObserver &, TUid)

IMPORT_C CImgProcessor * NewL ( RFs & aFileServerSession,
MImgProcessorObserver & aObserver,
TUid aImageProcessorPluginUid = KNullUid
) [static]

Constructs a new image processor object.

leave
KErrNoMemory There is insufficient memory available.

Parameters

RFs & aFileServerSession A file server session for the image processor to use.
MImgProcessorObserver & aObserver The image processor observer to recieve callbacks.
TUid aImageProcessorPluginUid = KNullUid The UID of the image processor plugin to load. Can be set to KUidNull which will load the highest version of the plugin.

Options()

IMPORT_C TUint64 Options ( ) const

Gets the set of the options set in the image processor.

CImgProcessor : TOperation

OutputInfoL()

IMPORT_C TOutputInfo * OutputInfoL ( )

Retrieves information about the output image.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

OverlayL()

IMPORT_C TOverlay * OverlayL ( )

Retrieves this image processor's TOverlay object. TOverlay provides functions to overlay a border or clipart onto an image.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

PreviewL(TInt)

IMPORT_C TPreview * PreviewL ( TInt aPreviewId )

Displays a low resolution preview of the output image with the effects and/or operations applied before rendering to a high resolution output image. Multiple previews are possible.

If the requested preview already exists, it will be returned, otherwise a new preview with id aPreviewId will be created and returned.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

Parameters

TInt aPreviewId The unique id for preview image. It is not the index of the preview of Image Processor. Instead any value can be given here to either return an preview previously created or will create a new one with that id.

ProcessL()

IMPORT_C void ProcessL ( )

All operations and effects are performed on the source image which is then rendered to the output specified. The size for the output image being rendered is the same as the size for the input image. Aspect ratio is maintained.

The image processor behaves differently according to if ImageProcessor::EOptionSyncProcessing is set or not ImageProcessor::CImgProcessor::SetOptionsL . In the asynchronous case the call leaves with KErrNorReady immediately if the image processor is not initialised. If an error occurs during asynchronous processing then the error is reported back to the client via the observer ImageProcessor::MImgProcessorObserver .In the synchronous case i.e. when ImageProcessor::EOptionSyncProcessing is set then the same errors are reported except this time by leaving with the error code directly from ProcessL. In this case no callback is made to the observer.

leave
KErrNotReady The image processor is not initialized or input is not set or output is not set.
leave
Other A range of system wide error codes.

ProcessL(const TSize &, TBool)

IMPORT_C void ProcessL ( const TSize & aSize,
TBool aMaintainAspectRatio
)

All operations and effects are performed on the source image which is then rendered to the output specified. The aspect ratio can be controlled.

leave
KErrNotReady The image processor is not initialized or input is not set or output is not set.
leave
Other A range of system wide error codes.

Parameters

const TSize & aSize The proposed size for the output image being rendered. If a size of 0, 0 is passed then the rendered output size is the same as the input size.
TBool aMaintainAspectRatio ETrue to maintain the aspect ratio, EFalse otherwise. Must be ETrue if aSize is passed as 0,0

ProgressInfoL()

IMPORT_C TProgressInfo * ProgressInfoL ( )

The progress infomation of the rendering function which is executed iteratively to enable asynchronous operation. This gives the possibility to show a progress bar in the GUI when performing time consuming renderings. Rendering functions are synchronous if EOptionSyncProcessing option is set on CImgProcessor .

Retrieves the available progress information in a TProgressInfo obect.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
KErrNoMemory Not enough memory.
leave
Other A range of system wide error codes.

RedoAllL()

IMPORT_C void RedoAllL ( )

Re-applies all re-doable operations previously undone.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

RedoL()

IMPORT_C void RedoL ( )

Re-applies the most recent redoable operation.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

ResetL()

IMPORT_C void ResetL ( )

Resets the image processor. image processor's input is reset and image processor's state is set to EInitialized.

leave
KErrNotReady The image processor is not initialized or is initializing.
leave
Other A range of system wide error codes.

SetBackgroundColorL(const TRgb &)

IMPORT_C void SetBackgroundColorL ( const TRgb & aColor )

Sets the background color to use for the output image. Any area of the output image which is not rendered to is set to this colour.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

Parameters

const TRgb & aColor The background color to set.

SetInputL(const TDesC &, const TUid &, const TUid &)

IMPORT_C void SetInputL ( const TDesC & aFilename,
const TUid & aFormat = KNullUid,
const TUid & aSubFormat = KNullUid
)

Sets or updates the source image to the specified file name.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

const TDesC & aFilename The filename of the new source image to use.
const TUid & aFormat = KNullUid The format of the new source image to use. If KNullUid is passed then an attempt is made to recognize its format.
const TUid & aSubFormat = KNullUid The sub-format of the new source image to use. If KNullUid is passed then an attempt is made to recognize its sub-format.

SetInputL(RFile &, const TUid &, const TUid &)

IMPORT_C void SetInputL ( RFile & aFile,
const TUid & aFormat = KNullUid,
const TUid & aSubFormat = KNullUid
)

The source image is set or updated to the given file.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

RFile & aFile The file handle of the new source image to use.
const TUid & aFormat = KNullUid The format of the new source image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new source image to use.

SetInputL(TMMSource &, const TUid &, const TUid &)

IMPORT_C void SetInputL ( TMMSource & aDrmFile,
const TUid & aFormat = KNullUid,
const TUid & aSubFormat = KNullUid
)

The source image is set or updated. The source image may be DRM protected.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

TMMSource & aDrmFile The DRM file of the new source image to use.
const TUid & aFormat = KNullUid The format of the new source image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new source image to use.

SetInputL(const TDesC8 &, const TUid &, const TUid &)

IMPORT_C void SetInputL ( const TDesC8 & aBuffer,
const TUid & aFormat = KNullUid,
const TUid & aSubFormat = KNullUid
)

The source image is set or updated to the content of the buffer provided.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

const TDesC8 & aBuffer The buffer containing the new source image to use.
const TUid & aFormat = KNullUid The format of the new source image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new source image to use.

SetInputL(const CFbsBitmap &, const CFbsBitmap *)

IMPORT_C void SetInputL ( const CFbsBitmap & aBitmap,
const CFbsBitmap * aMask = NULL
)

The source image is set or updated to the bitmap provided.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

const CFbsBitmap & aBitmap The bitmap of the new source image to use.
const CFbsBitmap * aMask = NULL The bitmap mask of the new source image to use.

SetInputL(const CImageFrame &)

IMPORT_C void SetInputL ( const CImageFrame & aPixelBuffer )

The source image is set or updated to the image frame provided.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

const CImageFrame & aPixelBuffer The image frame of the new source image to use.

SetInputL(CImagePanorama &)

IMPORT_C void SetInputL ( CImagePanorama & aPanorama )

The input is set or updated to the panorama object provided. Any existing options are reset.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

CImagePanorama & aPanorama The panorama object to use.

SetInputRectL(const TRect &)

IMPORT_C void SetInputRectL ( const TRect & aRect )

Sets the area of interest of the source image to be used for processing.

leave
KErrNotReady The image processor is not initialized or input image source data hasn't been set.
leave
KErrArgument The area size is 0 or there is no overlap between aRect and source image.
leave
Other A range of system wide error codes.

Parameters

const TRect & aRect A reference to a TRect that specifies the location and size of the region to be used for the source image.

SetOptionsL(TUint64)

IMPORT_C void SetOptionsL ( TUint64 aOptions )

Sets the desired options. Options can be combined using bitwise inclusive OR.

CImgProcessor : TOptions

Parameters

TUint64 aOptions The new options to set to this image processor.

SetOutputL(const TDesC &, const TUid &, const TUid &)

IMPORT_C void SetOutputL ( const TDesC & aFilename,
const TUid & aFormat =  KImageTypeJPGUid ,
const TUid & aSubFormat = KNullUid
)

Changes the output image to the image specified in the file given. Rendering is not performed.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

const TDesC & aFilename The filename of the new output image to use.
const TUid & aFormat =  KImageTypeJPGUid The format of the new output image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new output image to use.

SetOutputL(RFile &, const TUid &, const TUid &)

IMPORT_C void SetOutputL ( RFile & aFile,
const TUid & aFormat =  KImageTypeJPGUid ,
const TUid & aSubFormat = KNullUid
)

Changes the output image to the image specified in the file given. Rendering is not performed.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

RFile & aFile The file handle of the new output image to use.
const TUid & aFormat =  KImageTypeJPGUid The format of the new output image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new output image to use.

SetOutputL(RBuf8 &, const TUid &, const TUid &)

IMPORT_C void SetOutputL ( RBuf8 & aBuffer,
const TUid & aFormat =  KImageTypeJPGUid ,
const TUid & aSubFormat = KNullUid
)

Changes the output image to the image specified in the buffer given. Rendering is not performed.

leave
KErrNotReady The image processor is not initialized.
leave
Other A range of system wide error codes.

Parameters

RBuf8 & aBuffer The buffer containing the new output image to use. This may be re-allocated when rendering is performed if more memory is required.
const TUid & aFormat =  KImageTypeJPGUid The format of the new output image to use.
const TUid & aSubFormat = KNullUid The sub-format of the new output image to use.

SetOutputL(CImageFrame &)

IMPORT_C void SetOutputL ( CImageFrame & aPixelBuffer )

Changes the output image to the image specified in the buffer given. Rendering is not performed.

leave
KErrNotReady The image processor is not initialized.
leave
KErrArgument The buffer is empty.
leave
Other A range of system wide error codes.

Parameters

CImageFrame & aPixelBuffer The image frame of the new output image to use.

SetOutputL(CFbsBitmap &, CFbsBitmap *)

IMPORT_C void SetOutputL ( CFbsBitmap & aBitmap,
CFbsBitmap * aMask = NULL
)

Changes the output image to the image specified in the bitmap given. Rendering is not performed.

leave
KErrNotReady The image processor is not initialized.
leave
KErrArgument The bitmap is empty or given mask is empty.
leave
Other A range of system wide error codes.

Parameters

CFbsBitmap & aBitmap The bitmap of the new output image to use.
CFbsBitmap * aMask = NULL The bitmap mask of the new output image to use.

State()

IMPORT_C TState State ( ) const

Returns the state of the image processor.

CImgProcessor::TState

SupportedEffectsL(RArray< TUid > &)

IMPORT_C void SupportedEffectsL ( RArray < TUid > & aEffects ) const

Returns a list of effect UIDs which can be applied by this image processor.

Parameters

RArray < TUid > & aEffects Array to be filled by the list of the supported effects.

SupportedInputDisplayModesL(RArray< TDisplayMode > &)

IMPORT_C void SupportedInputDisplayModesL ( RArray < TDisplayMode > & aDisplayModes ) const

Returns a list of supported input display modes (e.g. EColor16M).

Parameters

RArray < TDisplayMode > & aDisplayModes Array to be filled in by the list of the supported input display modes.

SupportedInputFormatsL(RArray< TUid > &)

IMPORT_C void SupportedInputFormatsL ( RArray < TUid > & aFormats ) const

Returns a list of compressed image formats which are supported (e.g. KImageTypeJPGUid etc).

Parameters

RArray < TUid > & aFormats Array to be filled by the list of the supported input formats.

SupportedInputImageFrameFormatsL(RArray< TUid > &)

IMPORT_C void SupportedInputImageFrameFormatsL ( RArray < TUid > & aFormats ) const

Returns a list of supported image frame formats (e.g. KUidFormat32BitRGB888Interleaved).

Parameters

RArray < TUid > & aFormats Array to be filled in by the list of the supported input formats.

SupportedInputSubFormatsL(TUid, RArray< TUid > &)

IMPORT_C void SupportedInputSubFormatsL ( TUid aFormat,
RArray < TUid > & aSubFormats
) const

Returns a list of the input sub-formats supported.

Parameters

TUid aFormat Supported input format.
RArray < TUid > & aSubFormats Array to be filled by the list of the supported input sub-formats.

SupportedOperations()

IMPORT_C TUint SupportedOperations ( ) const

Gets the set of operations supported.

CImgProcessor : TOperation

SupportedOptions()

IMPORT_C TUint64 SupportedOptions ( ) const

Returns the options supported by this image processor as a set of flags.

CImgProcessor : TOptions

SupportedOutputDisplayModesL(RArray< TDisplayMode > &)

IMPORT_C void SupportedOutputDisplayModesL ( RArray < TDisplayMode > & aDisplayModes ) const

Returns a list of supported output display modes (e.g. EColor16M).

Parameters

RArray < TDisplayMode > & aDisplayModes Array to be filled in by the list of the supported output display modes.

SupportedOutputFormatsL(RArray< TUid > &)

IMPORT_C void SupportedOutputFormatsL ( RArray < TUid > & aFormats ) const

Returns a list of supported compressed output image formats (e.g. KImageTypeJPGUid etc.).

Parameters

RArray < TUid > & aFormats Array to be filled in by the list of the supported output formats.

SupportedOutputImageFrameFormatsL(RArray< TUid > &)

IMPORT_C void SupportedOutputImageFrameFormatsL ( RArray < TUid > & aFormats ) const

Returns a list of image frame formats to which the output can be rendered (e.g. KUidFormat32BitRGB888Interleaved).

Parameters

RArray < TUid > & aFormats Array to be filled in by the list of the supported output frame formats.

SupportedOutputSubFormatsL(TUid, RArray< TUid > &)

IMPORT_C void SupportedOutputSubFormatsL ( TUid aFormat,
RArray < TUid > & aSubFormats
) const

Returns a list of the output sub-formats supported.

Parameters

TUid aFormat The supported format of ImageProcessor.
RArray < TUid > & aSubFormats Array to be filled in by the list of the supported sub formats of ImageProcessor.

UndoAllL()

IMPORT_C void UndoAllL ( )

Reverts all operations which can be undone.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

UndoL()

IMPORT_C void UndoL ( )

Reverts the most recent operation which can be undone.

leave
KErrNotReady The image processor is not initialized or input is not set.
leave
Other A range of system wide error codes.

Member Enumerations Documentation

Enum TEvent

Events occurring during processing.

Enumerators

EEventInitializing = 0

The image processor is initializing.

EEventInitializingComplete

The image processor has finished initializing.

EEventProcessing

Processing is in progress.

EEventProcessingComplete

Processing is complete.

EEventRendering

Rendering is in progress.

EEventRenderingComplete

Event rendering is complete.

EEventPreviewInitializing

The preview is initializing.

EEventPreviewInitializingComplete

The preview has finished initializing.

EEventPreviewRendering

The preview rendering is in progress.

EEventPreviewRenderingComplete

The preview rendering is complete.

Enum TOperation

Flags to control the operations or transforms on an image.

Enumerators

EOperationNone = 0x0

No operation.

EOperationRotate90 = 0x1

Rotate 90 degrees clockwise.

EOperationRotate180 = 0x2

Rotate 180 degrees clockwise.

EOperationRotate270 = 0x4

Rotate 270 degrees clockwise.

EOperationMirrorHorizontalAxis = 0x8

Horizontal flip (mirror over horizontal axis).

EOperationMirrorHorizontalAxisRotate90 = 0x10

Horizontal flip (mirror over horizontal axis) then rotate 90 degrees clockwise.

EOperationMirrorVerticalAxis = 0x20

Vertical flip (mirror over vertical axis).

EOperationMirrorVerticalAxisRotate90 = 0x40

Vertical flip (mirror over vertical axis) then rotate 90 degrees clockwise.

Enum TOptions

Flags to control how the image is processed.

Enumerators

EOptionNone = 0x00

No flag set

EOptionSyncProcessing = 0x01

Effects, geometric operations and rendering are applied synchronously. The default is asynchronously.

EOptionExifMetadataProcessing = 0x02

The Exif data from the source image is parsed and transferred to the destination image.

Enum TState

Possible states for the image processor.

Enumerators

EUninitialized = 0

Image processor not initalized.

EInitializing

Image processor initalizing.

EInitialized

Image processor initalized.

EEffectActive

Effect active.

EProcessing

Image processor processing an image.

EPreviewInitializing

Preview initializing.

EPreviewRendering

Preview Rendering.

EStatesCount

Count of valid states (boundary marker - not a true state).

Member Data Documentation

CImageProcessorImpl * iImplementation

CImageProcessorImpl * iImplementation [private]