epoc32/include/icl/orientationtransformextension.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100 (2010-03-31)
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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__