1.1 --- a/epoc32/include/imageconversion.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/imageconversion.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,9 +1,9 @@
1.4 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 // All rights reserved.
1.6 // This component and the accompanying materials are made available
1.7 -// 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
1.8 +// under the terms of "Eclipse Public License v1.0"
1.9 // which accompanies this distribution, and is available
1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.12 //
1.13 // Initial Contributors:
1.14 // Nokia Corporation - initial contribution.
1.15 @@ -29,6 +29,10 @@
1.16 #include <icl/icl_uids.hrh>
1.17 #include <icl/imageconversionextension.h>
1.18
1.19 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
1.20 +#include <iclrecognizerutil.h>
1.21 +#endif
1.22 +
1.23 class MImageDecoderRelay;
1.24 class MImageEncoderRelay;
1.25 class CImageDecoderPlugin;
1.26 @@ -61,6 +65,7 @@
1.27 @internalComponent
1.28 */
1.29 static CImageTypeDescription* NewLC(const TDesC& aDescription, const TUid aImageType, const TUid aSubType);
1.30 +
1.31 IMPORT_C ~CImageTypeDescription();
1.32 IMPORT_C const TDesC& Description() const;
1.33 IMPORT_C TUid ImageType() const;
1.34 @@ -144,8 +149,9 @@
1.35 @internalComponent
1.36 */
1.37 static CImplementationInformationType* NewLC();
1.38 +
1.39 IMPORT_C ~CImplementationInformationType();
1.40 -
1.41 +
1.42 /**
1.43 @internalComponent
1.44 */
1.45 @@ -261,7 +267,7 @@
1.46 /**
1.47 @publishedAll
1.48 @released
1.49 -
1.50 +
1.51 Codec must support crop.
1.52 */
1.53 EOptionExtCrop = 0x0100,
1.54 @@ -269,7 +275,7 @@
1.55 /**
1.56 @publishedAll
1.57 @released
1.58 -
1.59 +
1.60 Codec must support block streaming extension.
1.61 */
1.62 EOptionExtStream = 0x0200,
1.63 @@ -277,7 +283,7 @@
1.64 /**
1.65 @publishedAll
1.66 @released
1.67 -
1.68 +
1.69 Codec must support rotation through the operation extension.
1.70 */
1.71 EOptionExtRotation = 0x0400,
1.72 @@ -285,7 +291,7 @@
1.73 /**
1.74 @publishedAll
1.75 @released
1.76 -
1.77 +
1.78 Codec must support horizontal mirror through the operation extension.
1.79 */
1.80 EOptionExtMirrorHorizontalAxis = 0x0800,
1.81 @@ -293,7 +299,7 @@
1.82 /**
1.83 @publishedAll
1.84 @released
1.85 -
1.86 +
1.87 Codec must support vertical mirror through the operation extension.
1.88 */
1.89 EOptionExtMirrorVerticalAxis = 0x1000,
1.90 @@ -301,7 +307,7 @@
1.91 /**
1.92 @publishedAll
1.93 @released
1.94 -
1.95 +
1.96 Codec must support the scaling extension.
1.97 */
1.98 EOptionExtScaling = 0x2000,
1.99 @@ -326,7 +332,15 @@
1.100 Allows WMF codec to ignore any SETVIEWPORTORG, SETVIEWPORTEXT, SCALEVIEWPORTEXT
1.101 or OFFSETVIEWPORTORG commands in the metafile and allows scaling to destination bitmap.
1.102 */
1.103 - EOptionWmfIgnoreViewportMetaData = 0x020000
1.104 + EOptionWmfIgnoreViewportMetaData = 0x020000,
1.105 +
1.106 + /**
1.107 + @publishedPartner
1.108 + @prototype
1.109 +
1.110 + Requests that codec applies the auto rotation when decoding according to the orientation tag in the image Exif header.
1.111 + */
1.112 + EOptionAutoRotate = 0x040000
1.113 };
1.114
1.115 /**
1.116 @@ -573,9 +587,16 @@
1.117 EOptionGenerateAdaptivePalette = 0x02,
1.118
1.119 /**
1.120 + Use the highest possible image encoding speed; this may result in lower image quality.
1.121 + This flag is more applicable to formats which use "lossy" compression algorithms, such as JPEG.
1.122 + Decoders that do not support fast encoding will ignore it.
1.123 + */
1.124 + EPreferFastEncode = 0x04,
1.125 +
1.126 + /**
1.127 @publishedAll
1.128 @released
1.129 -
1.130 +
1.131 Codec must support block streaming extension.
1.132 */
1.133 EOptionExtStream = 0x0100,
1.134 @@ -583,7 +604,7 @@
1.135 /**
1.136 @publishedAll
1.137 @released
1.138 -
1.139 +
1.140 Codec must support rotation through the operation extension.
1.141 */
1.142 EOptionExtRotation = 0x0200,
1.143 @@ -591,6 +612,7 @@
1.144 /**
1.145 @publishedAll
1.146 @released
1.147 +
1.148 Codec must support horizontal mirror through the operation extension.
1.149 */
1.150 EOptionExtMirrorHorizontalAxis = 0x0400,
1.151 @@ -598,6 +620,7 @@
1.152 /**
1.153 @publishedAll
1.154 @released
1.155 +
1.156 Codec must support vertical mirror through the operation extension.
1.157 */
1.158 EOptionExtMirrorVerticalAxis = 0x0800,
1.159 @@ -605,6 +628,7 @@
1.160 /**
1.161 @publishedAll
1.162 @released
1.163 +
1.164 Codec must support setting thumbnail when using the other extensions (e.g. thumbnail rotation)
1.165 */
1.166 EOptionExtUseWithSetThumbnail = 0x1000,
1.167 @@ -685,30 +709,5 @@
1.168 friend class CImageEncodeConstruct;
1.169 };
1.170
1.171 -class CIclRecognizerUtil; // declared here
1.172 -/**
1.173 -@internalComponent
1.174 +#endif // IMAGECONVERSION_H
1.175
1.176 -ICL utility class used by ICL recognizer
1.177 -Maintains an array of CImplementationInformation objects
1.178 -so that data headers can be speedily matched against.
1.179 -Updates the array when notified by ECOM of a change to the global
1.180 -interface implementation registration data.
1.181 -*/
1.182 -NONSHARABLE_CLASS( CIclRecognizerUtil ) : public CBase
1.183 - {
1.184 -public:
1.185 - IMPORT_C static CIclRecognizerUtil* NewL();
1.186 - ~CIclRecognizerUtil();
1.187 - IMPORT_C TBool GetMimeTypeL(const TDesC8& aImageData, const TDesC& aFileName, TDes8& aMimeType);
1.188 -
1.189 -private:
1.190 - CIclRecognizerUtil();
1.191 - void ConstructL();
1.192 -
1.193 -private:
1.194 - class CBody;
1.195 - CBody* iBody;
1.196 - };
1.197 -
1.198 -#endif // IMAGECONVERSION_H