diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/imageconversion.h --- a/epoc32/include/imageconversion.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/imageconversion.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2001-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. @@ -29,6 +29,10 @@ #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + class MImageDecoderRelay; class MImageEncoderRelay; class CImageDecoderPlugin; @@ -61,6 +65,7 @@ @internalComponent */ static CImageTypeDescription* NewLC(const TDesC& aDescription, const TUid aImageType, const TUid aSubType); + IMPORT_C ~CImageTypeDescription(); IMPORT_C const TDesC& Description() const; IMPORT_C TUid ImageType() const; @@ -144,8 +149,9 @@ @internalComponent */ static CImplementationInformationType* NewLC(); + IMPORT_C ~CImplementationInformationType(); - + /** @internalComponent */ @@ -261,7 +267,7 @@ /** @publishedAll @released - + Codec must support crop. */ EOptionExtCrop = 0x0100, @@ -269,7 +275,7 @@ /** @publishedAll @released - + Codec must support block streaming extension. */ EOptionExtStream = 0x0200, @@ -277,7 +283,7 @@ /** @publishedAll @released - + Codec must support rotation through the operation extension. */ EOptionExtRotation = 0x0400, @@ -285,7 +291,7 @@ /** @publishedAll @released - + Codec must support horizontal mirror through the operation extension. */ EOptionExtMirrorHorizontalAxis = 0x0800, @@ -293,7 +299,7 @@ /** @publishedAll @released - + Codec must support vertical mirror through the operation extension. */ EOptionExtMirrorVerticalAxis = 0x1000, @@ -301,7 +307,7 @@ /** @publishedAll @released - + Codec must support the scaling extension. */ EOptionExtScaling = 0x2000, @@ -326,7 +332,15 @@ Allows WMF codec to ignore any SETVIEWPORTORG, SETVIEWPORTEXT, SCALEVIEWPORTEXT or OFFSETVIEWPORTORG commands in the metafile and allows scaling to destination bitmap. */ - EOptionWmfIgnoreViewportMetaData = 0x020000 + EOptionWmfIgnoreViewportMetaData = 0x020000, + + /** + @publishedPartner + @prototype + + Requests that codec applies the auto rotation when decoding according to the orientation tag in the image Exif header. + */ + EOptionAutoRotate = 0x040000 }; /** @@ -573,9 +587,16 @@ EOptionGenerateAdaptivePalette = 0x02, /** + Use the highest possible image encoding speed; this may result in lower image quality. + This flag is more applicable to formats which use "lossy" compression algorithms, such as JPEG. + Decoders that do not support fast encoding will ignore it. + */ + EPreferFastEncode = 0x04, + + /** @publishedAll @released - + Codec must support block streaming extension. */ EOptionExtStream = 0x0100, @@ -583,7 +604,7 @@ /** @publishedAll @released - + Codec must support rotation through the operation extension. */ EOptionExtRotation = 0x0200, @@ -591,6 +612,7 @@ /** @publishedAll @released + Codec must support horizontal mirror through the operation extension. */ EOptionExtMirrorHorizontalAxis = 0x0400, @@ -598,6 +620,7 @@ /** @publishedAll @released + Codec must support vertical mirror through the operation extension. */ EOptionExtMirrorVerticalAxis = 0x0800, @@ -605,6 +628,7 @@ /** @publishedAll @released + Codec must support setting thumbnail when using the other extensions (e.g. thumbnail rotation) */ EOptionExtUseWithSetThumbnail = 0x1000, @@ -685,30 +709,5 @@ friend class CImageEncodeConstruct; }; -class CIclRecognizerUtil; // declared here -/** -@internalComponent +#endif // IMAGECONVERSION_H -ICL utility class used by ICL recognizer -Maintains an array of CImplementationInformation objects -so that data headers can be speedily matched against. -Updates the array when notified by ECOM of a change to the global -interface implementation registration data. -*/ -NONSHARABLE_CLASS( CIclRecognizerUtil ) : public CBase - { -public: - IMPORT_C static CIclRecognizerUtil* NewL(); - ~CIclRecognizerUtil(); - IMPORT_C TBool GetMimeTypeL(const TDesC8& aImageData, const TDesC& aFileName, TDes8& aMimeType); - -private: - CIclRecognizerUtil(); - void ConstructL(); - -private: - class CBody; - CBody* iBody; - }; - -#endif // IMAGECONVERSION_H