diff -r 000000000000 -r 15bf7259bb7c uiaccelerator_plat/alf_visual_api/inc/alf/alfbrush.h --- /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 +#include +#include + +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