uiacceltk/hitchcock/Client/inc/alfskinnableimage.h
changeset 0 15bf7259bb7c
--- /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 <e32base.h>
+#include <alf/alfimage.h>
+#include <alf/alfimageloaderutil.h>
+
+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