--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiaccelerator_plat/alf_visual_api/inc/alf/alfbrush.h Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2006 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: Base class for all brushes.
+*
+*/
+
+
+
+#ifndef C_ALFBRUSH_H
+#define C_ALFBRUSH_H
+
+#include <e32base.h>
+#include <alf/alftimedvalue.h>
+#include <alf/alfpropertyowner.h>
+
+class CAlfGenComponent;
+class CAlfEnv;
+class CAlfBrushArray;
+
+/** Brush layers. */
+enum TAlfBrushLayer
+ {
+ EAlfBrushLayerBackground,
+ EAlfBrushLayerForeground
+ };
+
+/**
+ * A brush implements a series of graphics drawing operations. Brushes are
+ * attached to visuals and drawn whenever the visual is drawn. Brushes can
+ * be used for augmenting the normal appearance of visuals with graphical
+ * features such as background pictures, gradients, overlay icons, and
+ * selection highlights.
+ * This is base class for all brushes and it cannot be instantiated.
+ *
+ * Usage:
+ * @code
+ *
+ * //Sets the brush layer
+ * myBrush->setLayer( EAlfBrushLayerForeground );
+ *
+ * @endcode
+ * @lib alfclient.lib
+ * @since S60 v3.2
+ */
+class CAlfBrush : public CAlfPropertyOwner
+ {
+
+public:
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CAlfBrush();
+
+ /**
+ * Get opacity
+ *
+ * @return Opacity in TAlfTimedValue
+ */
+ IMPORT_C const TAlfTimedValue& Opacity() const;
+
+ /**
+ * Set opacity
+ *
+ * @param aOpacity New opacity value.
+ */
+ IMPORT_C void SetOpacity( const TAlfTimedValue& aOpacity );
+
+ /**
+ * Set the layer
+ *
+ * @param aLayer Layer (foreground/backgroud).
+ */
+ IMPORT_C void SetLayer(TAlfBrushLayer aLayer);
+
+ /**
+ * Sets whether the brush can draw outside brush guide (i.e. visual's) rect
+ * @param aClipToVisual If ETrue, drawing is clipped to visuals area.
+ */
+ IMPORT_C void SetClipToVisual(TBool aClipToVisual);
+
+ /**
+ * Gets whether the brush can draw outside brush guide (i.e. visual's) rect
+ * @return ETrue if drawing is clipped to visuals area.
+ */
+ IMPORT_C TBool ClipToVisual() const;
+
+ /**
+ * Return the server side handle
+ *
+ * @return Handle to the server side object. 0 if not set.
+ */
+ IMPORT_C TInt Identifier() const;
+
+ /**
+ * Return communications
+ *
+ * @return Comms
+ */
+ IMPORT_C CAlfGenComponent* Comms() const;
+
+ /**
+ * @internal
+ *
+ * Called when this brush is added into a brush array
+ * @param aContainingArray Brush array in which this brush is added
+ * @return Error code.
+ */
+ TInt AppendContainingArray( CAlfBrushArray& aContainingArray );
+
+ /**
+ * @internal
+ *
+ * Called when this brush is removed from a brush array
+ * @param aContainingArray Brush array where this brush is removed from
+ */
+ void RemoveContainingArray( CAlfBrushArray& aContainingArray );
+
+protected:
+
+ /**
+ * Constructor
+ */
+ IMPORT_C CAlfBrush();
+
+ /**
+ * Second phase constructor
+ */
+ IMPORT_C void ConstructL(
+ CAlfEnv& aEnv,
+ TInt aImplementationId,
+ TInt aImplementationUid,
+ const TDesC8& aConstructionParams );
+
+ IMPORT_C void ConstructL();
+
+ /** ! future proofing */
+ IMPORT_C void PropertyOwnerExtension(const TUid& aExtensionUid, TAny** aExtensionParams);
+
+
+private: // data
+
+ // Private data. Owned.
+ struct TPrivateData;
+ TPrivateData* iData;
+
+ };
+
+
+
+#endif // C_ALFBRUSH_H