--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/skins/AknSkins/rlinc/AknsRlRenderer.h Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Skin effect renderer.
+*
+*/
+
+
+#ifndef AKNSRLRENDERER_H
+#define AKNSRLRENDERER_H
+
+// INCLUDES
+#include "AknsRlCommand.h"
+#include "AknsRlErr.h"
+
+/**
+* Interface to skin effect renderer.
+*
+*
+* @since 2.8
+*/
+class MAknsRlRenderer
+ {
+ public: // Constructors and destructor
+
+ // This interface is not used to control ownership.
+
+ public: // New functions
+
+ /**
+ * Renders the item by executing the given command queue.
+ *
+ * @param aOutRGB Bitmap that will receive the final content of
+ * the output layer RGB channel. This bitmap is created by the method.
+ *
+ * @param aOutAlpha Bitmap that will receive the final content of
+ * the output alpha channel. This bitmap is created by the method.
+ *
+ * @param aOutLayerIndex Index of the output layer.
+ *
+ * @param aCommands Iterator that returns the commands used to
+ * render this element. The commands are executed in the sequence
+ * specified by the iterator. If @c NULL, no command is executed.
+ *
+ * @param aSize Size of the item.
+ *
+ * @since 2.8
+ */
+ virtual TInt RenderItem( CFbsBitmap*& aOutRGB, CFbsBitmap*& aOutAlpha,
+ const TInt aOutLayerIndex,
+ MAknsRlCommandIterator* aCommands, const TSize& aSize ) =0;
+
+ /**
+ * Renders the item on top of existing background by executing the given
+ * command queue.
+ *
+ * @param aOutRGB Bitmap that will receive the final content of
+ * the output layer RGB channel. This bitmap is created by the method.
+ *
+ * @param aOutAlpha Bitmap that will receive the final content of
+ * the output alpha channel. This bitmap is created by the method.
+ *
+ * @param aOutLayerIndex Index of the output layer.
+ *
+ * @param aCommands Iterator that returns the commands used to
+ * render this element. The commands are executed in the sequence
+ * specified by the iterator. If @c NULL, no command is executed.
+ *
+ * @param aSize Size of the item.
+ *
+ * @param aInRGB Bitmap containing initial input layer RGB content.
+ *
+ * @param aInAlpha Bitmap containing initial input layer alpha content.
+ * Must be have @c EGray256 color depth.
+ *
+ * @param aInRect Rectangle that defines the part of the input bitmaps
+ * (both RGB and alpha) to be used. Must have the same size as
+ * @c aSize.
+ *
+ * @param aInLayerIndex Index of the input layer. Given input content
+ * will be assigned to this layer.
+ *
+ * @since 2.8
+ */
+ virtual TInt RenderItemWithBackground(
+ CFbsBitmap*& aOutRGB, CFbsBitmap*& aOutAlpha,
+ const TInt aOutLayerIndex,
+ MAknsRlCommandIterator* aCommands, const TSize& aSize,
+ const CFbsBitmap* aInRGB, const CFbsBitmap* aInAlpha,
+ const TRect& aInRect, const TInt aInLayerIndex ) =0;
+
+ /**
+ * Gets the display mode that this renderer uses for RGB data.
+ *
+ * @return Display mode used for RGB data.
+ *
+ * @since 2.8
+ */
+ virtual TDisplayMode DisplayMode() =0;
+ };
+
+#endif // AKNSRLRENDERER_H
+
+// End of File