CCamera::CCameraImageProcessing Class Reference

#include <ecamimageprocessing.h>

Link against: ecamadvsettings.lib

class CCamera::CCameraImageProcessing : public CBase

Inherits from

  • CCamera::CCameraImageProcessing
    Public Member Enumerations
    enumTColorOperationRepresentation { ERepresentationNone, ERepresentationSingle, ERepresentationMultiple }
    enumTColorOperationRgbGroupingMode { ERgbGroupingNone, ERgbGroupingFixed, ERgbGroupingAutomatic, ERgbGroupingSignificantBits, ERgbGroupingUniform }
    enumTContrastEnhancement { EContrastEnhancementNone, EContrastEnhancementSwitchOff, EContrastEnhancementManualSwitchOn, EContrastEnhancementSwitchAuto }
    enumTEffect { EEffectNone, EEffectNegative, EEffectMonochrome, EEffectSolarize, ..., EEffectColorAccent }
    enumTGamma { EGammaAuto }
    enumTGlareReduction { EGlareReductionNone, EGlareReductionBasic }
    enumTHue { EHueAuto }
    enumTMirror { EMirrorNone, EMirrorHorizontal, EMirrorVertical, EMirrorBoth }
    enumTNoiseReduction { ENoiseReductionNone, ENoiseReductionBasic }
    enumTOrientationReference { EOrientationReferenceCameraSensorOrientation, EOrientationReferenceTiltOrientation }
    enumTRedEyeReduction { ERedEyeReductionNone, ERedEyeReductionSwitchOff, ERedEyeReductionManualSwitchOn, ERedEyeReductionSwitchAuto }
    enumTRelativeFlipping { ERelativeFlippingNone, ERelativeFlippingHorizontal, ERelativeFlippingVertical }
    enumTRelativeMirror { ERelativeMirrorNone, ERelativeMirrorHorizontalAxis, ERelativeMirrorVerticalAxis }
    enumTRelativeRotation { ERelativeRotation0Degrees, ERelativeRotation90DegreesClockwise, ERelativeRotation180DegreesClockwise, ERelativeRotation270DegreesClockwise }
    enumTSaturation { ESaturationAuto }
    enumTSharpness { ESharpnessAuto }
    Public Member Functions
    ~CCameraImageProcessing()
    IMPORT_C voidCancelColorAccentL()
    IMPORT_C voidCancelColorSwappingL()
    IMPORT_C CCameraImageProcessing *CreateL(CCamera &, MImplementationFactory &)
    IMPORT_C voidGetActiveTransformSequenceL(RArray< TUid > &)
    IMPORT_C voidGetActiveTransformationsL(RArray< TUid > &)
    IMPORT_C voidGetColorAccentCapabilitiesL(TInt, TColorOperationCapabilities &)
    IMPORT_C voidGetColorAccentEntryL(TInt, TColorOperationEntry &)
    IMPORT_C voidGetColorSwapCapabilitiesL(TInt, TColorOperationCapabilities &)
    IMPORT_C voidGetColorSwapEntryL(TInt, TColorOperationEntry &)
    IMPORT_C voidGetConcurrentColorAccentSupportedL(TInt &)
    IMPORT_C voidGetConcurrentColorSwappingsSupportedL(TInt &)
    IMPORT_C voidGetCurrentRelativeOrientationOptionsL(TOrientationReference &, TRelativeRotation &, TRelativeMirror &, TRelativeFlipping &)
    IMPORT_C voidGetSourceRect(TRect &)
    IMPORT_C voidGetSupportedRelativeOrientationOptionsL(TOrientationReference, TUint &, TUint &, TUint &)
    IMPORT_C voidGetSupportedTransformationsL(RArray< TUid > &)
    IMPORT_C voidGetTransformationSupportedValuesL(TUid, RArray< TInt > &, TValueInfo &)
    IMPORT_C TIntGetTransformationValue(TUid, TInt &)
    IMPORT_C CCameraImageProcessing *NewL(CCamera &)
    IMPORT_C voidRemoveColorAccentEntryL(TInt)
    IMPORT_C voidRemoveColorSwapEntryL(TInt)
    IMPORT_C voidSetActiveTransformSequenceL(RArray< TUid > &)
    IMPORT_C voidSetColorAccentEntryL(TInt, const TColorOperationEntry &)
    IMPORT_C voidSetColorSwapEntryL(TInt, const TColorOperationEntry &)
    IMPORT_C voidSetRelativeOrientationOptionsL(TOrientationReference, TRelativeRotation, TRelativeMirror, TRelativeFlipping)
    IMPORT_C voidSetSourceRect(const TRect &)
    IMPORT_C voidSetTransformationValue(TUid, TInt)
    IMPORT_C voidStartColorAccentL()
    IMPORT_C voidStartColorSwappingL()
    IMPORT_C TIntTransformationValue(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()

    Detailed Description

    This class is used to perform image processing operations on the camera. These include brightness, contrast, gamma, hue, sharpness and saturation adjustments. The client is also able to perform simple image transformations like cropping, rotation, mirroring, scaling, noise reduction and glare reduction. . When an operation selection is complete, all clients are notified with the respective event UID.

    As often cameras may support only a subset of discrete values of the allowed range, the API allows the client to retrieve those and use them explicitly.

    Note:

    This class is not intended for sub-classing and used to standardise existing varieties of implementations.

    it is assumed that setting a new value for a transformations(transform, adjust, effect) effectively activates the transformations. Whilst for effects and adjustments there is always a value, transforms may have a dependency on other parameters and crop - requires setting of source rectangle. scale - will use setting of source rectangle, and the magnification factor is determined by the source rectangle and the output size. This is always magnification. if a value is set, it is assumed to be a scaling factor multiplied by KECamFineResolutionFactor and set to integer. mirror - values of TMirror type. rotation - the angle in degrees. noise reduction - TNoiseReduction. glare removal - TGlareReduction.

    Example
    		// Lets assume that an application would need to check whether gamma correction is 
    		// supported on a particular platform. After obtaining a valid pointer to the interface, 
    		// it would call GetSupportedTransformationsL() to obtain the list of the supported 
    		// transformations and check whether KUidECamEventImageProcessingAdjustGamma
    		// is in the list. If it is then call SetTranformationValue(KUidECamEventImageProcessingAdjustGamma, 200);
    		// to set the new value. A notification will be generated to the client to indicate success.
    
    		RArray<TUid> suppTransforms; // array of supported transformations
    		CleanupClosePushL(suppTransforms);
    
    		imageProcess->GetSupportedTransformationsL(suppTransfUids);
    		 ...
    		// if the gamma is supported 
    		TInt gammaCorrection = 200; // gamma correction of 2.0
    		imageProcess->SetTranformationValue(KUidECamEventImageProcessingAdjustGamma, gammaCorrection);
    		...
    		// pop stack to close the RArray
    Note:

    If the class methods leave, the output type parameter value is not guaranteed to be valid.

    Member Enumeration Documentation

    Enum TColorOperationRepresentation

    Used for color swap and color accent feature in TEffect. It describes whether the given source or target color represents itself or a group of color.

    EnumeratorValueDescription
    ERepresentationNone0x00

    Feature is not supported

    ERepresentationSingle0x01

    The given color is uniquely represented

    ERepresentationMultiple0x02

    The given color represents a group of colors

    Enum TColorOperationRgbGroupingMode

    Used for color swap and color accent feature in TEffect. It describes the type of grouping for source and target colors when they represent a group of color.

    EnumeratorValueDescription
    ERgbGroupingNone0x00

    Feature is not supported

    ERgbGroupingFixed0x01

    This means no neighbourhood colors are considered

    ERgbGroupingAutomatic0x02

    This means neighbourhood colors are to be automatically decided by the implementation or hardware

    ERgbGroupingSignificantBits0x04

    This means neighbourhood colors for source have to be decided by ignoring few starting bits. Used for source only

    ERgbGroupingUniform0x08

    This means colors in target are obtained as some uniform proportion using source. Used for target only

    Enum TContrastEnhancement

    Different types of contrast enhancement options. The enumeration list may be extended in future.

    EnumeratorValueDescription
    EContrastEnhancementNone0x00

    Not Supported.

    EContrastEnhancementSwitchOff0x01

    Contrast Enhancement switched off.

    EContrastEnhancementManualSwitchOn0x02

    Contrast Enhacement switched On manually.

    EContrastEnhancementSwitchAuto0x04

    Contrast Enhancement in auto mode.

    Enum TEffect

    Settings for the supported effects

    EnumeratorValueDescription
    EEffectNone0x00000000

    Effects off is default, always supported

    EEffectNegative0x00000001

    Negative visual effect.

    EEffectMonochrome0x00000002

    Black and white visual effect.

    EEffectSolarize0x00000004

    Solarization visual effect.

    EEffectSepia0x00000008

    Sepia visual effect.

    EEffectEmboss0x00000010

    Emboss visual effect.

    EEffectRedEyeReduction0x00000020

    Red eye glare reduction visual effect.

    EEffectVivid0x00000040

    Vivid colour visual effect.

    EEffectNeutral0x00000080

    Neutral colour visual effect.

    EEffectLowSharpening0x00000100

    Selective sharpening visual effect.

    EEffectNatural0x00000200

    Natural visual effect.

    This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

    EEffectCine0x00000400

    Cine visual effect.

    This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

    EEffectOldFilm0x00000800

    Old film visual effect.

    This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

    EEffectColorSwap0x00001000

    Color swap visual effect.

    This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

    EEffectColorAccent0x00002000

    Where a list of color can be kept as they are and the rest converted to gray.

    This enum value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or CCamera::NewDuplicate2L().

    Enum TGamma

    Gamma settings

    EnumeratorValueDescription
    EGammaAutoKMinTInt

    Sets the gamma adjustment automatically.

    Enum TGlareReduction

    Glare reduction settings

    EnumeratorValueDescription
    EGlareReductionNone0x0000

    Default value. Glare reduction disabled.

    EGlareReductionBasic0x0001

    most basic glare reduction.

    Enum THue

    Hue Settings

    EnumeratorValueDescription
    EHueAutoKMinTInt

    Sets the hue adjustment automatically.

    Enum TMirror

    Mirror settings

    EnumeratorValueDescription
    EMirrorNone0x00000000

    Default value. Mirroring is disabled.

    EMirrorHorizontal0x00000001

    Mirror along horizontal axis.

    EMirrorVertical0x00000002

    Mirror along vertical axis.

    EMirrorBoth0x00000003

    Mirror along horizontal and vertical axis.

    Enum TNoiseReduction

    Noise filter settings

    EnumeratorValueDescription
    ENoiseReductionNone0x0000

    Default value. Noise reduction disabled.

    ENoiseReductionBasic0x0001

    most basic noise reduction.

    Enum TOrientationReference

    Used to provide different types of references for orientation of images retrieved. These references are the various means by the orientation of an image can be defined. Client needs to choose a particular TOrientationReference and specify any relative rotation, mirroring and flipping on top of it.

    This enumeration has nothing to do with absolute rotation. Uid KUidECamEventImageProcessingTransformRotate is used for absolute rotation purposes.

    The enumeration list may be extended in future.

    EnumeratorValueDescription
    EOrientationReferenceCameraSensorOrientation

    The retrieved images will follow the camera sensor orientation. This orientation would be relative to the current screen mode as given by the reference screen.

    EOrientationReferenceTiltOrientation

    The retrieved images will get oriented as per the tilt sensor information. So,the orientation would be relative to the current screen mode as given by the reference screen.

    Enum TRedEyeReduction

    Different types of software-based red eye reduction options. The enumeration list may be extended in future.

    EnumeratorValueDescription
    ERedEyeReductionNone0x00

    Not Supported.

    ERedEyeReductionSwitchOff0x01

    Software based Red Eye Reduction can be switched off(disabled).

    ERedEyeReductionManualSwitchOn0x02

    Software based Red Eye Reduction can be switched on (enabled).

    ERedEyeReductionSwitchAuto0x04

    Software based Red Eye Reduction can be put to auto mode.

    Enum TRelativeFlipping

    Used to describe the various relative flipping. The term 'relative' means that the flipping is applied after the image undergoes orientation as given by TOrientationReference.

    The enumeration list may be extended in future.

    EnumeratorValueDescription
    ERelativeFlippingNone0x00

    No flipping.

    ERelativeFlippingHorizontal0x10

    Used to flip an image horizontally. This is applied on top of orientation reference and is relative to current reference screen.

    ERelativeFlippingVertical0x20

    Used to flip an image vertically. This is applied on top of orientation reference and is relative to current reference screen.

    Enum TRelativeMirror

    Used to describe the various relative mirroring. The term 'relative' means that the mirroring is applied after the image undergoes orientation as given by TOrientationReference.

    The enumeration list may be extended in future.

    EnumeratorValueDescription
    ERelativeMirrorNone0x00

    No mirroring.

    ERelativeMirrorHorizontalAxis0x10

    Used to mirror an image about the horizontal axis. This is applied on top of orientation reference and is relative to current reference screen.

    ERelativeMirrorVerticalAxis0x20

    Used to mirror an image about the vertical axis. This is applied on top of orientation reference and is relative to current reference screen.

    Enum TRelativeRotation

    Used to describe the various relative rotation. The term 'relative' means that the rotation is applied after the image undergoes orientation as given by TOrientationReference.

    The enumeration list may be extended in future.

    EnumeratorValueDescription
    ERelativeRotation0Degrees0x00

    Zero degree Rotation applied on top of orientation reference and is relative to current reference screen.

    ERelativeRotation90DegreesClockwise0x01

    90 degree clockwise Rotation applied on top of orientation reference and is relative to current reference screen.

    ERelativeRotation180DegreesClockwise0x02

    180 degree clockwise Rotation applied on top of orientation reference and is relative to current reference screen.

    ERelativeRotation270DegreesClockwise0x04

    270 degree clockwise Rotation applied on top of orientation reference and is relative to current reference screen.

    Enum TSaturation

    Saturation Settings

    EnumeratorValueDescription
    ESaturationAutoKMinTInt

    Sets the saturation adjustment automatically.

    Enum TSharpness

    Sharpness Settings

    EnumeratorValueDescription
    ESharpnessAutoKMinTInt

    Sets the sharpness adjustment automatically.

    Constructor & Destructor Documentation

    ~CCameraImageProcessing ( )

    IMPORT_C~CCameraImageProcessing()

    Destructor

    Member Function Documentation

    CancelColorAccentL ( )

    IMPORT_C voidCancelColorAccentL()

    Cancel the color accent process.

    leave
    May leave as a result of some error.
    Note:

    Used to cancel the color accent process which might have been just started. If the issued StartColorAccentL() gets cancelled, its event should report KErrCancel.

    CancelColorSwappingL ( )

    IMPORT_C voidCancelColorSwappingL()

    Cancel the color swapping process.

    leave
    May leave as a result of some error.
    Note:

    Used to cancel the color swapping process which might have been just started. If the issued StartColorSwappingL() gets cancelled, its event should report KErrCancel.

    CreateL ( CCamera &, MImplementationFactory & )

    IMPORT_C CCameraImageProcessing *CreateL(CCamera &aCamera,
    MImplementationFactory &aImplFactory
    )[static]

    Factory function for creating the CCameraImageProcessing object specifically for any one of the following:- VideoCapture and Viewfinder. This may be used in other possible cases as well.

    The other factory method CCamera::CCameraImageProcessing::NewL is assumed for being operated on image captures only.

    leave
    KErrNoMemory Out of memory.
    leave
    KErrExtensionNotSupported When NewL/NewDuplicateL used instead of New2L/NewDuplicate2L.
    Note:

    This method is supposed to be used by internal ECAM components only.

    ParameterDescription
    aCameraA reference to a CCamera object providing the settings.
    aImplFactoryA reference to the MImplementationFactory derived object.

    Returns: a pointer to a fully constructed CCameraImageProcessing object.

    GetActiveTransformSequenceL ( RArray< TUid > & )

    IMPORT_C voidGetActiveTransformSequenceL(RArray< TUid > &aTransformSequence)const

    Get the sequence of all active transforms, ordered in order of execution.

    leave
    KErrNoMemory Out of memory.
    ParameterDescription
    aTransformSequencean empty array to be populated with sequence of transform UIDs, where transform entries with smaller index are executed earlier.

    GetActiveTransformationsL ( RArray< TUid > & )

    IMPORT_C voidGetActiveTransformationsL(RArray< TUid > &aTransformations)const

    Get currently active transformations on the camera.

    leave
    KErrNoMemory Out of memory.
    ParameterDescription
    aTransformationsAn empty RArray of TUids to store the UIDs of the supported transformations.

    GetColorAccentCapabilitiesL ( TInt, TColorOperationCapabilities & )

    IMPORT_C voidGetColorAccentCapabilitiesL(TIntaIndex,
    TColorOperationCapabilities &aColorAccentCapabilities
    )const

    Retrieves the color accent capabilites per entry, if different entries have different capabilities otherwise the same capabilities retrieved for a particular entry can be assumed to be valid for every entry

    leave
    May leave as a result of some error.
    ParameterDescription
    aIndexThis is a value from 0 to numOfSimultaneousColorAccent -1. Color accent capabilities specific to a particular entry are retrieved. If uniform capability exists for every entry, then this method need not be called per entry.
    aColorAccentCapabilitiesThis retrieves the color accent capabilities.

    GetColorAccentEntryL ( TInt, TColorOperationEntry & )

    IMPORT_C voidGetColorAccentEntryL(TIntaIndex,
    TColorOperationEntry &aColorAccentParameters
    )const

    Get the details of the color accent entry corresponding to the given index

    leave
    May leave as a result of some error.
    ParameterDescription
    aIndexThis gives the color accent entry whose information has to be retrieved.
    aColorAccentParametersThis contains the parameters currently being used by the color accent operation for the given entry. The parameters defined for target colors in TColorOperationEntry are redundant for color accent.

    GetColorSwapCapabilitiesL ( TInt, TColorOperationCapabilities & )

    IMPORT_C voidGetColorSwapCapabilitiesL(TIntaIndex,
    TColorOperationCapabilities &aColorSwapCapabilities
    )const

    Retrieves the color swapping capabilites per entry, if different entries have different capabilities otherwise the same capabilities retrieved for a particular entry can be assumed to be valid for every entry

    leave
    May leave as a result of some error.
    ParameterDescription
    aIndexThis is a value from 0 to numOfSimultaneousColorSwappings -1. Color swapping capabilities specific to a particular entry are retrieved. If uniform capability exists for every entry, then this method need not be called per entry.
    aColorSwapCapabilitiesThis retrieves the color swap capabilities.

    GetColorSwapEntryL ( TInt, TColorOperationEntry & )

    IMPORT_C voidGetColorSwapEntryL(TIntaIndex,
    TColorOperationEntry &aColorSwapParameters
    )const

    Get the details of the color swap entry corresponding to the given index

    leave
    May leave as a result of some error.
    ParameterDescription
    aIndexThis gives the color swapping entry whose information has to be retrieved.
    aColorSwapParametersThis contains the parameters currently being used by the color swapping operation for the given entry.

    GetConcurrentColorAccentSupportedL ( TInt & )

    IMPORT_C voidGetConcurrentColorAccentSupportedL(TInt &aConcurrentColorAccentSupported)const

    Retrieves the maximum number of color entries on which simultaneous color accent process is possible.

    leave
    May leave as a result of some error.
    ParameterDescription
    aConcurrentColorAccentSupportedRetrieves the number of color entries on which simultaneous color accent process is possible. Retrieves 0 when color accent process is not supported.

    GetConcurrentColorSwappingsSupportedL ( TInt & )

    IMPORT_C voidGetConcurrentColorSwappingsSupportedL(TInt &aConcurrentColorSwappingSupported)const

    Retrieves the maximum number of simultaneous color swapping possible.

    leave
    May leave as a result of some error.
    ParameterDescription
    aConcurrentColorSwappingSupportedRetrieves the number of simultaneous color swapping supported. Retrieves 0 when swapping feature is not supported.

    GetCurrentRelativeOrientationOptionsL ( TOrientationReference &, TRelativeRotation &, TRelativeMirror &, TRelativeFlipping & )

    IMPORT_C voidGetCurrentRelativeOrientationOptionsL(TOrientationReference &aOrientationReference,
    TRelativeRotation &aRelativeRotation,
    TRelativeMirror &aRelativeMirror,
    TRelativeFlipping &aRelativeFlipping
    )const

    Retrieves the options which is being used for the current orientation reference.

    leave
    May leave with any error code.
    ParameterDescription
    aOrientationReferenceA TOrientationReference which is the current orientation reference being used.
    aRelativeRotationA TRelativeRotation which is the current relative rotation being used with aOrientationReference.
    aRelativeMirrorA TRelativeMirror which is the current relative mirroring being used with aOrientationReference.
    aRelativeFlippingA TRelativeFlipping which is the current relative flipping being used with aOrientationReference.

    GetSourceRect ( TRect & )

    IMPORT_C voidGetSourceRect(TRect &aRect)const

    Get the source rectangle for KUidECamEventImageProcessingTransformScale or KUidECamEventImageProcessingTransformCrop. The coordinates should fall within the current image rectangle. The result is always a logical AND operation between the two rectangles.

    ParameterDescription
    aRecta reference to TRect object to hold the current source rectangle coordinates. If it has not been set, the coordinates match these of the whole image.

    GetSupportedRelativeOrientationOptionsL ( TOrientationReference, TUint &, TUint &, TUint & )

    IMPORT_C voidGetSupportedRelativeOrientationOptionsL(TOrientationReferenceaOrientationReference,
    TUint &aSupportedRelativeRotation,
    TUint &aSupportedRelativeMirroring,
    TUint &aSupportedRelativeFlipping
    )const

    Retrieves the supported options for a particular orientation reference.

    leave
    May leave with any error code.
    ParameterDescription
    aOrientationReferenceA TOrientationReference for which supported relative custom orientation have to retrieved.
    aSupportedRelativeRotationA bitfield which retrieves the supported TRelativeRotation for 'aOrientationReference'
    aSupportedRelativeMirroringA bitfield which retrieves the supported TRelativeMirror for 'aOrientationReference'
    aSupportedRelativeFlippingA bitfield which retrieves the supported TRelativeFlipping for 'aOrientationReference'

    GetSupportedTransformationsL ( RArray< TUid > & )

    IMPORT_C voidGetSupportedTransformationsL(RArray< TUid > &aTransformations)const

    Get all transformations supported on the camera.

    leave
    KErrNoMemory Out of memory.
    ParameterDescription
    aTransformationsAn empty RArray of TUids to store the UIDs of the supported transformations.

    GetTransformationSupportedValuesL ( TUid, RArray< TInt > &, TValueInfo & )

    IMPORT_C voidGetTransformationSupportedValuesL(TUidaTransformation,
    RArray< TInt > &aValues,
    TValueInfo &aInfo
    )const

    Get all values supported by an active transformation.

    Note:

    Depending on the value of aInfo parameter, same array of values may describe different set of values. When camera device doesn't support this, empty array may be returned and TValueInfo may be ENotActive; corresponding getter/setters for this feature should not be used in such a case.

    If CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values for Effects. So, any extra enum value(unrecognised) passed from the implementation will be filtered at this point. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

    leave
    KErrNoMemory Out of memory.
    ParameterDescription
    aTransformationThe UID of active transform for which values are requested.
    aValuesAn array of integers to represent the values for the requested transformation.
    aInfoAdditional information describing the returned array of values.

    GetTransformationValue ( TUid, TInt & )

    IMPORT_C TIntGetTransformationValue(TUidaTransformation,
    TInt &aTransformationValue
    )const

    Get the current value of a transformation

    Note:

    If CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values for Effects. So, any extra enum value (unrecognised) received from the implementation will be dropped and EEffectNone would be passed instead. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

    Use this method instead of deprecated TInt TransformationValue(TUid aTransformation)

    ParameterDescription
    aTransformationThe UID of the transformation
    aTransformationValueReference to the integer value of the tranformation.

    Returns: system wide error code.

    NewL ( CCamera & )

    IMPORT_C CCameraImageProcessing *NewL(CCamera &aCamera)[static]

    Factory function for creating the CCameraImageProcessing object. The created object is supposed to be meant for image captures only.

    leave
    KErrNoMemory Out of memory Or any other system-wide error code.
    Note:

    Clients using MCameraObserver are not recommended to use this extension class since they cannot handle events.

    ParameterDescription
    aCameraa reference to a CCamera object providing the settings.

    Returns: a pointer to a fully constructed CCameraImageProcessing object.

    RemoveColorAccentEntryL ( TInt )

    IMPORT_C voidRemoveColorAccentEntryL(TIntaIndex)

    Removes the color accent entry corresponding to the given index

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPRemoveColorAccentEntry to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. TECAMEvent2 class should be used in order to provide the entry no. of the color being removed.

    ParameterDescription
    aIndexThis gives the color accent entry to be removed.

    RemoveColorSwapEntryL ( TInt )

    IMPORT_C voidRemoveColorSwapEntryL(TIntaIndex)

    Removes the color swap entry corresponding to the given index

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPRemoveColorSwapEntry to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. TECAMEvent2 class should be used in order to provide the entry no. of the color being removed.

    ParameterDescription
    aIndexThis gives the color swapping entry to be removed.

    SetActiveTransformSequenceL ( RArray< TUid > & )

    IMPORT_C voidSetActiveTransformSequenceL(RArray< TUid > &aTransformSequence)

    Set the order of all active transform in terms of execution. The transforms with smaller index are executed earlier.

    leave
    KErrNoMemory Out of memory.
    ParameterDescription
    aTransformSequenceThe list of ordered transforms, where transforms with smaller index are executed earlier.

    SetColorAccentEntryL ( TInt, const TColorOperationEntry & )

    IMPORT_C voidSetColorAccentEntryL(TIntaIndex,
    const TColorOperationEntry &aColorAccentParameters
    )

    Set the color accent entries

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPSetColorAccentEntry to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. TECAMEvent2 class should be used in order to provide the entry no. of the color being set.

    ParameterDescription
    aIndexThis is a value from 0 to numOfSimultaneousColorAccent -1. This helps in managing the limited no. of simultaneous color accent. If parameters are already set for the given entry, then it's up to the implementation to replace the existing one or discard it.
    aColorAccentParametersThe parameters necessary to define clearly the color accent operation for the given entry. iEntryStatus has to be updated by the implementation as per the result of the setting operation. So, iEntryStatus value is redundant at this point. The parameters defined for target colors in TColorOperationEntry are redundant for color accent.

    SetColorSwapEntryL ( TInt, const TColorOperationEntry & )

    IMPORT_C voidSetColorSwapEntryL(TIntaIndex,
    const TColorOperationEntry &aColorSwapParameters
    )

    Set the color swap entries

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPSetColorSwapEntry to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. TECAMEvent2 class should be used in order to provide the entry no. of the color being set.

    ParameterDescription
    aIndexThis is a value from 0 to numOfSimultaneousColorSwappings -1. This helps in managing the limited no. of simultaneous color swaps. If parameters are already set for the given entry, then it's up to the implementation to replace the existing one or discard it.
    aColorSwapParametersThe parameters necessary to define clearly the color swapping operation for the given entry. iEntryStatus has to be updated by the implementation as per the result of the setting operation. So, iEntryStatus value is redundant at this point.

    SetRelativeOrientationOptionsL ( TOrientationReference, TRelativeRotation, TRelativeMirror, TRelativeFlipping )

    IMPORT_C voidSetRelativeOrientationOptionsL(TOrientationReferenceaOrientationReference,
    TRelativeRotationaRelativeRotation,
    TRelativeMirroraRelativeMirror,
    TRelativeFlippingaRelativeFlipping
    )

    Sets the options which would be used with the desired orientation reference.

    leave
    KErrNotSupported if the implementation of this method is not present.
    Note:

    Event KUidECamEventImageProcessingTransformRelativeOrientation is used to notify clients about relative custom orientation setting operation.

    If the current picture orientation (Refer CCamera::CCameraAdvancedSettings::TPictureOrientation) is not possible to be achieved with the relative custom orientation, event KUidECamEventPictureOrientationUnachievable will be notified to the client.

    If the dimension of the image gets changed by the desired relative orientation options, notification KUidECamEventCameraSettingImageSize will be notified to the client.

    ParameterDescription
    aOrientationReferenceThe desired TOrientationReference.
    aRelativeRotationThe desired TRelativeRotation which would be used with 'aOrientationReference'.

    SetSourceRect ( const TRect & )

    IMPORT_C voidSetSourceRect(const TRect &aRect)

    Set the source rectangle for KUidECamEventImageProcessingTransformScale or KUidECamEventImageProcessingTransformCrop. The coordinates should fall within the current image rectangle. The result is always a logical AND operation between the two rectangles.

    ParameterDescription
    aRecta reference to TRect object which describes the coordinates of the area of interest.

    SetTransformationValue ( TUid, TInt )

    IMPORT_C voidSetTransformationValue(TUidaTransformation,
    TIntaValue
    )

    Set new value for a transformation. A notification event with the transformation UID is sent to all clients. UIDs are in the form KUidECamEventImageProcessingXXXX.

    ParameterDescription
    aTransformationThe UID of the transformation
    aValueThe integer value of the tranformation.

    StartColorAccentL ( )

    IMPORT_C voidStartColorAccentL()

    Starts the color accent process after taking into account the color accent entries updated up to this point.

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPStartColorAccent to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error.

    StartColorSwappingL ( )

    IMPORT_C voidStartColorSwappingL()

    Starts the color swapping process after taking into account the color swap entries updated up to this point.

    leave
    KErrNotSupported if implementation is not present.
    Note:

    Triggers KUidECamEventCIPStartColorSwap to all MCameraObserver2 clients of the camera. HandleEvent is used to report the result or any possible error. One possible error case is when more than one entry describe the same color source. New ecam error KErrECamColorOperationConflict used in such a case.

    TransformationValue ( TUid )

    IMPORT_C TIntTransformationValue(TUidaTransformation)const

    DeprecatedUse TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue);

    Get the current value of a transformation

    Note:

    If CCamera::New2L() or CCamera::NewDuplicate2L() is not used to create CCamera object, it is assumed that application is not prepared to receive extra added enum values for Effects. So, any extra enum value (unrecognised) received from the implementation will be dropped and EEffectNone would be passed instead. To receive extra added enum values, application should rather use CCamera::New2L() or CCamera::NewDuplicate2L() to create camera object. In this case, application is assumed to be prepared to receive unrecognised enum values

    ParameterDescription
    aTransformationThe UID of the transformation

    Returns: The integer value of the tranformation.