epoc32/include/imageconversion.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- 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 <icl/icl_uids.hrh>
 #include <icl/imageconversionextension.h>
 
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <iclrecognizerutil.h>
+#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