diff -r 000000000000 -r 2f259fa3e83a classicui_pub/images_api/inc/EIKIMAGE.H --- /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 +#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__