epoc32/include/icl/orientationtransformextension.h
branchSymbian3
changeset 4 837f303aceeb
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
       
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // This is Image Transform extension for Rotate/Flip Transformations
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file
       
    20  @publishedAll 
       
    21  @released
       
    22 */
       
    23 
       
    24 #ifndef __ORIENTATIONTRANFORMEEXTENSION_H__
       
    25 #define __ORIENTATIONTRANFORMEEXTENSION_H__
       
    26 
       
    27 #include <e32base.h>
       
    28 #include <icl/imagetransformpluginext.h>
       
    29 #include <icl/icl_uids.hrh>
       
    30 
       
    31 /**
       
    32 @publishedAll 
       
    33 @released
       
    34 
       
    35 The Orientation Extension to the ImageTransform plugin.
       
    36  
       
    37 The class provides the methods to set the image orientation and is intended to be implemented
       
    38 by the plugins supporting the rotation of the image based on the orientation. The plugin
       
    39 supporting this extension must use the opaque_data v2 format in RSS file and also the orientation flag
       
    40 must be set in the opaque_data. The client must retrieve this extension implementation from 
       
    41 the plugin using its extension UID. 
       
    42 */
       
    43 class COrientationTransformExtension : public CImageTransformPluginExtension
       
    44 	{
       
    45 public:
       
    46 	/** 
       
    47 	The possible orientations of the image. Similar to the EXIF orientation tag
       
    48 	*/
       
    49 	enum TOrientation
       
    50 		{
       
    51 		/**
       
    52 		No rotation done
       
    53 		*/
       
    54 		ERotationNone = 1,
       
    55 		/**
       
    56 		Rotate the image clockwise through 90 degrees.
       
    57 		*/
       
    58 		ERotation90DegreesClockwise = 6,
       
    59 		/**
       
    60 		Rotate the image clockwise through 180 degrees.
       
    61 		*/
       
    62 		ERotation180DegreesClockwise = 3,
       
    63 		/**
       
    64 		Rotate the image clockwise through 270 degrees.
       
    65 		*/
       
    66 		ERotation270DegreesClockwise = 8,
       
    67 		/** 
       
    68 		Mirror the image over its vertical axis
       
    69 		*/
       
    70 		EMirrorVerticalAxis = 2,
       
    71 		/**
       
    72 		Mirror the image over its horizontal axis
       
    73 		*/
       
    74 		EMirrorHorizontalAxis = 4,
       
    75 		/**
       
    76 		Transpose (or mirror) the image across a diagonal running from top-left to lower-right.
       
    77 		*/
       
    78 		ETransposeOverMainDiagonal = 5,
       
    79 		/**
       
    80 		Transpose (or mirror) the image across a diagonal running from top-right to lower-left.
       
    81 		*/
       
    82 		ETransposeOverMinorDiagonal = 7
       
    83 		};	
       
    84 
       
    85 	IMPORT_C void SetOrientationL(TOrientation aOrientation ) ;
       
    86 
       
    87 protected:
       
    88 	virtual void DoSetOrientationL(TOrientation aOrientation) = 0;
       
    89 
       
    90 private:
       
    91 	IMPORT_C virtual void ReservedVirtual5();
       
    92 
       
    93 private:	
       
    94 	// Future proofing
       
    95 	TAny* iPad;
       
    96 	};
       
    97 
       
    98 #endif // __ORIENTATIONTRANFORMEEXTENSION_H__