diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/Client/inc/alfskinnableimage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/Client/inc/alfskinnableimage.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,92 @@ +/* +* 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: Skinned image +* +*/ + + + +#ifndef C_ALFSKINNABLEIMAGE_H +#define C_ALFSKINNABLEIMAGE_H + + +#include +#include +#include + +class CAlfEnv; + + +/** + * Internal class that provides texturization for a skinned TAlfImage. + * + * @lib alfclient.lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CAlfSkinnableImage ): public CBase + { +public: + + /* Constructors and destructors. */ + + /** + * Constructor. + * + * @param aEnv Environment. Ownership not transferred. + */ + CAlfSkinnableImage(CAlfEnv* aEnv); + + /** + * Destructor. + */ + ~CAlfSkinnableImage(); + + + /* Methods. */ + + /** + * Sets the image specification and texturizes the image if it does + * not yet have a texture. + * + * @param aImage The image. + */ + void SetImage(const TAlfImage& aImage); + + /** + * Gets the image specification. + * + * @return The image. + */ + TAlfImage& Image(); + +private: + + void CreateTextureL(); + void DeleteTexture(); + CAlfTextureManager& ImageTextureManager(const TAlfImage& aImage); + CAlfTextureManager& ImageTextureManager(TUid aManagerUid); + +private: + + TAlfImage iImage; + CAlfEnv* iEnv; + TInt iSkinnedImageTextureId; + TUid iSkinnedImageTextureManagerId; + CAlfAutoSizeImageLoaderUtil* iSkinnedImageUtil; + // Skin Logical Name + const TDesC* iSkinIdName; + TInt iId; + }; + +#endif // C_ALFSKINNABLEIMAGE_H