diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/imagetransform.h --- a/epoc32/include/imagetransform.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/imagetransform.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -14,6 +14,7 @@ // This is the public client API for the Image Transform Library // // + /** @file @publishedAll @@ -25,11 +26,11 @@ #include #include - // fwd refs class CImageTransformFramework; //fwd ref class CImageTransformPluginExtension; + /** The public API for clients to call the Image Transform (scaling) library. This class provides functions to scale images held in files or descriptors. @@ -63,7 +64,51 @@ */ EEnumBoundary = 0x04 }; - + /** + Flags to specify the desired transformations. + If no flag or "EScale" flag is set then the framework will look for the plugins + supporting scaling which includes all the plugins supporting + version-1 opaque data and the plugins supporting version-2 opaque + data with the scaling flag set. + A plug-in supporting Squeeze, Orientation and Overlay in a single transform + must perform these transformation in the order: Overlaying, Orientation and then + Squeezing + */ + enum TTransformations + { + /** + No transformation set + */ + ETransformationNone = 0x00, + /** + If set, the image is scaled based on the parameter passed in SetDestSizeInPixelsL(). + */ + EScale = 0x01, + /** + If set, the image is clipped based on the parameter passed in SetSourceRect(). + */ + ECrop = 0x02, + /** + If set, the image is squeezed + */ + ESqueeze = 0x04, + /** + If set, the image is oriented + */ + EOrientation = 0x08, + /** + If set, the image is blend with the overlay image + */ + EOverlay = 0x10, + /** + If set, the plugin having exif extension is looked for + */ + EExif = 0x20, + /** + TTransformations should not be set greater than or equal to this value + */ + ETransformEnumBoundary = 0x40 + }; public: IMPORT_C static CImageTransform* NewL(RFs& aFs); IMPORT_C ~CImageTransform(); @@ -78,7 +123,7 @@ IMPORT_C void SetDestFilenameL(const TDesC& aFilename); IMPORT_C void SetDestDataL(HBufC8*& aData); IMPORT_C void SetDestSizeInPixelsL(const TSize& aDestinationSize, TBool aMaintainAspectRatio = ETrue); - + IMPORT_C void SetOptionsL(TUint aOptions); IMPORT_C void SetPreserveImageData(TBool aPreserveImageData); @@ -87,7 +132,8 @@ IMPORT_C void CancelTransform(); IMPORT_C void Reset(); IMPORT_C CImageTransformPluginExtension* Extension() const; - + IMPORT_C CImageTransformPluginExtension* Extension(TUid aExtensionUid, TInt& aError) const; + IMPORT_C void SetTransformationsL(TUint aTransformations); private: CImageTransform(); void ConstructL(RFs& aFs);