class TImageConvScaler |
Scaling extension for Image Conversion Library. Supports both arbitrary or 'power of two' 1/2, 1/4, 1/8 scaling
Public Member Functions | |
---|---|
IMPORT_C void | GetCapabilities(TScalerCaps &) |
IMPORT_C void | SetScalingL(const TSize &, TImageConvScaler::TScalerQuality, TBool) |
IMPORT_C void | SetScalingL(TInt, TImageConvScaler::TScalerQuality) |
Private Member Functions | |
---|---|
TImageConvScaler() | |
void | SetExtension(MImageConvExtension *) |
Public Member Enumerations | |
---|---|
enum | TScalerQuality { EMinimumQuality, EMediumQuality, EMaximumQuality } |
Private Attributes | |
---|---|
MImageConvScaler * | iExtension |
TInt | iReserved |
IMPORT_C void | GetCapabilities | ( | TScalerCaps & | aCaps | ) | const |
Get the codec plugin's capabilities.
TScalerCaps & aCaps | Returns scaling capabilities of the codec plugin. |
void | SetExtension | ( | MImageConvExtension * | aExtension | ) | [private] |
MImageConvExtension * aExtension |
IMPORT_C void | SetScalingL | ( | const TSize & | aDesiredSize, |
TImageConvScaler::TScalerQuality | aQuality, | |||
TBool | aLockAspectRatio | |||
) |
Request scaling to the desired size using the quality specified and specifying if the aspect ratio is to be preserved. Ensure that CImageDecoder::GetDestinationSize is used to obtain the size of destination bitmap passed to CImageDecoder::Convert if scaling is set up by calling this method.
Example: If a plugin is only capable of power of two scaling, with an original image size of 600x400, then calling this SetScalingL function with a desired size of 500x300 will result in a subsequent call to CImageDecoder::GetDestinationSize returning a size of 300x200 (that is, a scaling coefficient of -2).
leave
KErrNotSupported if an invalid size is passed.
leave
KErrNotSupported if aLockAspectRatio is EFalse and codec only supports preservation of aspect ratio.
const TSize & aDesiredSize | Proposed size of the scaled image. Note that this may not necessarily be the size returned by a subsequent call to CImageDecoder::GetDestinationSize and is dependant upon the operations (such as scaling, cropping and rotation) requested and also the capabilities of the plugin (which can be queried using TImageConvScaler::GetCapabilities). |
TImageConvScaler::TScalerQuality aQuality | Desired quality of the image. Allows codec to lower quality targets to improve performance. |
TBool aLockAspectRatio | Set to ETrue if the aspect ratio of the original image is to be preserved. |
IMPORT_C void | SetScalingL | ( | TInt | aScalingCoeff, |
TImageConvScaler::TScalerQuality | aScalingQuality | |||
) |
Define the scaling to be applied to the image according to the given coefficient at the requested quality. Ensure that CImageDecoder::GetDestinationSize is used to obtain the size of destination bitmap to be passed to CImageDecoder::Convert.
leave
KErrNotSupported if codec cannot perform the requested scale.
TInt aScalingCoeff | Scale to apply to the source. 2 means twice the original size, -2 half the size. Do not confuse this with ReductionFactor where 2 indicates 1/2 size. |
TImageConvScaler::TScalerQuality aScalingQuality | Desired quality of the image. Allows codec to lower quality targets to improve performance. |
Quality used during scaling.
EMinimumQuality | |
EMediumQuality | |
EMaximumQuality |