epoc32/include/icl/overlaytransformextension.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 Overlay/Replace transformations
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file
       
    20  @publishedAll 
       
    21  @released
       
    22 */
       
    23 
       
    24 #ifndef __OVERLAYTRANFORMEEXTENSION_H__
       
    25 #define __OVERLAYTRANFORMEEXTENSION_H__
       
    26 
       
    27 #include <e32base.h>
       
    28 #include <e32cmn.h>
       
    29 #include <icl/imagetransformpluginext.h>
       
    30 
       
    31 //fwd decl
       
    32 class CFbsBitmap;
       
    33 class CImageFrame;
       
    34 
       
    35 /**
       
    36 @publishedAll 
       
    37 @released
       
    38 
       
    39 Overlay/Replace Extension to the ImageTransform plugin
       
    40 
       
    41 The class provides the methods to set the overlay/replace parameters and is intended to be implemented
       
    42 by the plugins supporting the blending of the images. The client can set the overlay image, the overlay 
       
    43 position and the transparency of the overlay image. The plugin supporting this extension must use 
       
    44 the opaque_data v2 format in RSS file and also the overlay flag must be set in the opaque_data.
       
    45 The client must retrieve this extension implementation from the plugin using its extension UID.
       
    46 */
       
    47 class COverlayTransformExtension : public CImageTransformPluginExtension
       
    48 	{
       
    49 public:
       
    50 	IMPORT_C void SetPosition(const TPoint& aPosition);
       
    51 	IMPORT_C void SetTransparencyLevelL(TUint aLevel);
       
    52 	IMPORT_C void SetOverlayFileL(const TDesC& aFilename, const TUid& aOverlayImageUid);
       
    53 	IMPORT_C void SetOverlayDataL(const TDesC8& aData, const TUid& aOverlayImageUid);
       
    54 	IMPORT_C void SetOverlayImageL(const CFbsBitmap& aBitmap);
       
    55 	IMPORT_C void SetOverlayImageL(const CImageFrame& aImageFrame);
       
    56 	IMPORT_C void SupportedOverlayInputFormatsL(RArray<TUid>& aFormats) const;
       
    57 	IMPORT_C void SupportedOverlayInputSubFormatsL(TUid aFormat, RArray<TUid>& aSubFormats) const;
       
    58 	
       
    59 protected:
       
    60 	virtual void DoSetPosition(const TPoint& aPosition) = 0;
       
    61 	virtual void DoSetTransparencyLevelL(TUint aLevel) = 0;
       
    62 	virtual void DoSetOverlayFileL(const TDesC& aFilename, const TUid& aOverlayImageUid) = 0;
       
    63 	virtual void DoSetOverlayDataL(const TDesC8& aData, const TUid& aOverlayImageUid) =0;
       
    64 	virtual void DoSetOverlayImageL(const CFbsBitmap& aBitmap) =0;
       
    65 	virtual void DoSetOverlayImageL(const CImageFrame& aImageFrame) =0;
       
    66 	virtual void DoSupportedOverlayInputFormatsL(RArray<TUid>& aFormats) const =0;
       
    67 	virtual void DoSupportedOverlayInputSubFormatsL(TUid aFormat, RArray<TUid>& aSubFormats) const = 0;
       
    68 
       
    69 private:
       
    70 	IMPORT_C virtual void ReservedVirtual5();
       
    71 
       
    72 private:	
       
    73 	// Future proofing
       
    74 	TAny* iPad;
       
    75 	};
       
    76 
       
    77 #endif // __OVERLAYTRANFORMEEXTENSION_H__