diff -r 000000000000 -r 15bf7259bb7c uiaccelerator_plat/alf_visual_api/inc/alf/alfdisplaybackgrounditem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiaccelerator_plat/alf_visual_api/inc/alf/alfdisplaybackgrounditem.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,241 @@ +/* +* Copyright (c) 2006-2007 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: Defines item in display background. +* +*/ + + + +#ifndef __ALFDISPLAYBACKGROUNDITEM_H__ +#define __ALFDISPLAYBACKGROUNDITEM_H__ + +#include +#include + +/** + * This class specifies an item that is drawn in the display background. + * Item can specify background as either: + * + * "None" - Nothing is drawn to given display area. Can be used to minimize + * updates to display background areas that e.g. are not visible + * and thus maximize framerate. + * + * "Color" - Given display area is filled with given color. Can be defined as + * skinnable color or normal RGB color.. + * + * "Skin background" - Given display area is filled with given skin background + * graphics. + * Usage: + * @code + * + * //Array to cotain background items + * RArray items; + * + * //Fill with Skin backgrounds + * TAlfDisplayBackgroundItem newItem0( rect, logicalskin ); + * newItem0.SetRect( rect ); + * newItem0.SetThemeBackground(logicalskin); + * + * //Append in items + * items.AppendL( newItem0 ); + * + * // Fill with Skin colors + * TAlfDisplayBackgroundItem newItem1( rect, logicalskin, skinnedColorIndex1 ); + * newItem1.SetRect( rect1 ); + * newItem1.SetColor( logicalskin, 1 ); + * + * //Append in items + * items.AppendL( newItem1 ); + * + * // Fill with Colors + * TAlfDisplayBackgroundItem newItem2( rect, 0x0 ); + * newItem2.SetRect( rect ); + * newItem2.SetColor( KRgbRed ); + * + * //Append in items vector + * items.AppendL( newItem2 ); + * + * //Create display and set background items + * CAlfDisplay* display = iEnv->NewDisplayLiEnv->NewDisplayL( ClientRect(), + * CAlfEnv::ENewDisplayAsCoeControl ); + * display->SetBackgroundItemsL( items ); + * + * @endcode + * @lib alfclient.lib + * @since S60 xxx + */ +NONSHARABLE_CLASS( TAlfDisplayBackgroundItem ) + { +public: + /** + * Constructor. Default constructor. + */ + IMPORT_C TAlfDisplayBackgroundItem(); + + /** + * Constructor. Creates backgroun item which area is not cleared. + * @param aRect Item area in display coordinates (pixels). + */ + IMPORT_C TAlfDisplayBackgroundItem( const TRect& aRect ); + + /** + * Constructor. Creates backgroun item which area is cleared + * using the given skin background graphics. + * @param aRect Item area in display coordinates (pixels). + * @param aSkinID Skin background that is used to clear the item area. + * Possible values are e.g. + * KAknsIIDQsnBgScreen + * KAknsIIDQsnBgScreenIdle + * KAknsIIDQsnBgScreenMp + * KAknsIIDQsnBgAreaMain + * KAknsIIDQsnBgAreaMainAppsGrid + * KAknsIIDQsnBgAreaMainHigh + * KAknsIIDQsnBgAreaMainFlat + * KAknsIIDQsnBgAreaMainSmall + * KAknsIIDWallpaper + * KAknsIIDQsnBgAreaMainIdle + * KAknsIIDQsnBgAreaStatus + * KAknsIIDQsnBgAreaStatusIdle + * KAknsIIDQsnBgAreaStaconRt + * KAknsIIDQsnBgAreaStaconLt + * KAknsIIDQsnBgAreaStaconRb + * KAknsIIDQsnBgAreaStaconLb + * KAknsIIDQsnBgAreaStaconRtIdle + * KAknsIIDQsnBgAreaStaconLtIdle + * KAknsIIDQsnBgAreaStaconRbIdle + * KAknsIIDQsnBgAreaStaconLbIdle + * KAknsIIDQsnBgAreaControl + * KAknsIIDQsnBgAreaControlPopup + * KAknsIIDQsnBgAreaControlMp + * KAknsIIDQsnBgAreaControlMp + * KAknsIIDQsnBgNavipaneSolid + * KAknsIIDQsnBgNavipaneSolidIdle + * + */ + IMPORT_C TAlfDisplayBackgroundItem( const TRect& aRect, + const TAknsItemID& aSkinID ); + + /** + * Constructor. Creates backgroun item which area is cleared + * using the given skin color. + * @param aRect Item area in display coordinates (pixels). + * @param aSkinID Skin color group that is used to clear the item area. + * Possible values are e.g. + * KAknsIIDQsnIconColors + * KAknsIIDQsnTextColors + * KAknsIIDQsnLineColors + * KAknsIIDQsnOtherColors + * KAknsIIDQsnHighlightColors + * etc. + * @param aColorIndex Skin color index. + */ + IMPORT_C TAlfDisplayBackgroundItem( const TRect& aRect, + const TAknsItemID& aSkinID, + TInt aColorIndex ); + + /** + * Constructor. Creates backgroun item which area is cleared + * using the given color. + * @param aRect Item area in display coordinates (pixels). + * @param aColor Color that is used to clear the item area. + */ + IMPORT_C TAlfDisplayBackgroundItem( const TRect& aRect, + const TRgb& aColor ); + + /** + * Sets area for the item. + * @param aRect Item area in display coordinates (pixels). + */ + IMPORT_C void SetRect( const TRect& aRect ); + + /** + * Sets color that is used clear the item area. This overrides + * old color or the skin background if it has been previously given. + * @param Item color. + */ + IMPORT_C void SetColor( const TRgb& aColor ); + + /** + * Sets skinned color that is used clear the item area. This overrides + * old color or skin background if it has been previously given. + * @param aSkinID Skin color group that is used to clear the item area. + * Possible values are e.g. + * KAknsIIDQsnIconColors + * KAknsIIDQsnTextColors + * KAknsIIDQsnLineColors + * KAknsIIDQsnOtherColors + * KAknsIIDQsnHighlightColors + * etc. + * @param aColorIndex Color index. + */ + IMPORT_C void SetColor( const TAknsItemID& aSkinID, TInt aColorIndex ); + + /** + * Sets skin backgroud that is used clear the item area. This overrides + * old color or skin background if it has been previously given. + * + * @param aSkinID Skin background that is used to clear the item area. + * Possible values are e.g. + * KAknsIIDQsnBgScreen + * KAknsIIDQsnBgScreenIdle + * KAknsIIDQsnBgScreenMp + * KAknsIIDQsnBgAreaMain + * KAknsIIDQsnBgAreaMainAppsGrid + * KAknsIIDQsnBgAreaMainHigh + * KAknsIIDQsnBgAreaMainFlat + * KAknsIIDQsnBgAreaMainSmall + * KAknsIIDWallpaper + * KAknsIIDQsnBgAreaMainIdle + * KAknsIIDQsnBgAreaStatus + * KAknsIIDQsnBgAreaStatusIdle + * KAknsIIDQsnBgAreaStaconRt + * KAknsIIDQsnBgAreaStaconLt + * KAknsIIDQsnBgAreaStaconRb + * KAknsIIDQsnBgAreaStaconLb + * KAknsIIDQsnBgAreaStaconRtIdle + * KAknsIIDQsnBgAreaStaconLtIdle + * KAknsIIDQsnBgAreaStaconRbIdle + * KAknsIIDQsnBgAreaStaconLbIdle + * KAknsIIDQsnBgAreaControl + * KAknsIIDQsnBgAreaControlPopup + * KAknsIIDQsnBgAreaControlMp + * KAknsIIDQsnBgAreaControlMp + * KAknsIIDQsnBgNavipaneSolid + * KAknsIIDQsnBgNavipaneSolidIdle + */ + IMPORT_C void SetSkinBackground( const TAknsItemID& aSkinID ); + +private: + /** Item draw area, specified in display pixels */ + TRect iRect; + + /** Item skin id. Can be a skin background or skin color */ + TAknsItemID iSkinID; + + /** Item skin color index */ + TInt iColorIndex; + + /** Item color (used if draw mode is clear with color) */ + TRgb iColor; + + /** Item draw mode */ + TInt iClearMode; + + /** Reserved for future use */ + TInt iSpare1; + TInt iSpare2; + TInt iSpare3; + }; + +#endif \ No newline at end of file