classicui_pub/images_api/inc/EIKIMAGE.H
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/images_api/inc/EIKIMAGE.H	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,223 @@
+/*
+* Copyright (c) 1997-1999 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:
+*
+*/
+
+
+#if !defined(__EIKIMAGE_H__)
+#define __EIKIMAGE_H__
+
+#if !defined(__EIKALIGN_H__)
+#include <eikalign.h>
+#endif 
+
+class CFbsBitmap;
+class CBitmapContext;
+ 
+/**
+ *  The package class @c CEikImage enables bitmaps to be packaged into an
+ *  image. Two bitmaps can be packaged, one for the image itself and, 
+ *  optionally, another for the image’s mask. 
+ */
+class CEikImage : public CEikAlignedControl
+    {
+	
+public:
+    
+    /**
+     * C++ default constructor.
+     */
+    IMPORT_C CEikImage();
+    
+    /**
+     * Destructor.
+     */
+    IMPORT_C ~CEikImage();
+
+public: // framework
+    
+    /**
+     * Gets the minimum size required to draw the image.
+     *
+     * @return The minimum size required to draw the image.
+     */
+    IMPORT_C TSize MinimumSize();
+    
+    /**
+     * Constructs an image from resource using the specified resource reader. 
+     *
+     * @param aReader The resource reader.
+     */	
+    IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
+
+public: // new functions
+
+    /**
+     * Creates a bitmap and a mask for an icon. If @c aMaskId is not negative
+     * then function allocates bitmap and mask objects and sets member variables
+     * to point at them. These bitmaps are not ready for drawing until they are 
+     * initialized with @c SetSize() method. Usually, UI controls do this. Note
+     * also that a single @c SetSize() call initializes both the bitmap and the 
+     * mask. 
+     *
+     * If @c aMaskId is not needed and not given then this function creates the 
+     * bitmap for an icon. Returned object is saved to the member variable. The
+     * bitmap is not ready for drawing until it is initialized with @c 
+     * SetSize() method. Usually, UI controls do this.
+     *
+     * @param aFilename File name. Can be either MBM or MIF file. 
+     *        Extension is changed based on the given bitmap ID.
+     * @param aMainId Bitmap id.
+     * @param aMaskId Mask id, by default -1.
+     */
+	IMPORT_C void CreatePictureFromFileL(const TDesC& aFilename,
+	                                     TInt aMainId,
+                                         TInt aMaskId=-1);	
+	 
+    /** 
+     * Sets picture parameters.
+     *
+     * @param aBitmap A bitmap.
+     * @param aMaskBitmap A bitmap mask.
+     */
+	IMPORT_C void SetPicture(const CFbsBitmap* aBitmap,
+                             const CFbsBitmap* aMaskBitmap=NULL);
+	 
+    /**
+     * Sets emphasis.
+     *
+     * @param aEmphasis Full emphasis if @c ETrue and if not then @c EFalse.
+     */
+	IMPORT_C void SetEmphasis(TBool aEmphasis);
+    
+    /**
+     * Sets the owner of the picture.
+     *
+     * @param aOwnership @c Etrue if owner is external and @c EFalse if not.
+     */
+    IMPORT_C void SetPictureOwnedExternally(TBool aOwnership);
+    
+    /**
+     * Gets a pointer of @c CFbsBitmap object.
+     *
+     * @return Pointer to handle to the bitmap or NULL.
+     */
+    IMPORT_C const CFbsBitmap* Bitmap() const;
+    
+    /**
+     * Gets pointer of @c CFbsBitmap object.
+     *
+     * @return Pointer to handle to the bitmap's mask or NULL.
+     */
+    IMPORT_C const CFbsBitmap* Mask() const;
+    
+    /**
+     * Sets new bitmap.
+     *
+     * @param aBitmap Pointer to @c CFbsBitmap object containing the bitmap.
+     */
+    IMPORT_C void SetBitmap(const CFbsBitmap* aBitmap);
+    
+    /**
+     * Sets new bitmap mask.
+     *
+     * @param aMaskBitmap Pointer to @c CFbsBitmap object containing the bitmap
+     *        mask.
+     */
+	IMPORT_C void SetMask(const CFbsBitmap* aMaskBitmap);
+    
+    /**
+     * Sets new bitmap and bitmap's mask.
+     *
+     * @param aNewBitmap A bitmap.
+     * @param aNewMask A bitmap mask.
+     */
+    IMPORT_C void SetNewBitmaps(const CFbsBitmap* aNewBitmap,
+                                const CFbsBitmap* aNewMask);
+    
+    /**
+     * Checks whether picture is owned externally.
+     *
+     * @return @c ETrue if picture owned externally and @c EFalse if 
+     *         not.
+     */ 
+    IMPORT_C TBool IsPictureOwnedExternally(); 
+    
+    /**
+     * Sets the brush style.
+     *     
+     * @param aBrushStyle A brush style.
+     */
+    IMPORT_C void SetBrushStyle(CGraphicsContext::TBrushStyle aBrushStyle);
+
+public: // from CCoeControl   
+
+    /**
+     * From @c CCoeControl.
+     *
+     * Handles pointer events.
+     *
+     * This function gets called whenever a pointer event occurs in the 
+     * control, i.e. when the pointer is within the control's extent, or when
+     * the control has grabbed the pointer. The control should implement this
+     * function to handle pointer events.
+     *
+     * Note: events of type @c EButton1Down are processed before 
+     * @c HandlePointerEventL() is called in order to transfer keyboard focus 
+     * to the control in which the @c EButton1Down event occurred.
+     *
+     * If overriding @c HandlePointerEventL(), the implementation must include 
+     * a base call to @c CCoeControl's @c HandlePointerEventL().
+     *
+     * @param aPointerEvent The pointer event.
+     */   
+    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+protected: // from CCoeControl
+
+    /**
+     * From @c CCoeControl
+     *
+     * Writes the internal state of the control and its components to a stream.
+     * Does nothing in release mode. Designed to be overidden and base called 
+     * by subclasses.
+     *
+     * @since App-Framework_6.1
+     * @param[in,out] aWriteStream The pointer writestream.
+     */   
+    IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
+
+private: // from CCoeControl
+
+	IMPORT_C void Draw(const TRect& aRect) const;
+	IMPORT_C void Reserved_2();
+
+private:
+
+    /**
+    * From CAknControl
+    */
+    IMPORT_C void* ExtensionInterface( TUid aInterface );
+
+private:
+
+	const CFbsBitmap* iBitmap;
+	const CFbsBitmap* iMaskBitmap;
+	TInt iImFlags;
+	TInt iSpare;
+	CGraphicsContext::TBrushStyle iBrushStyle;
+	};
+
+#endif  //  __EIKIMAGE_H__