diff -r 000000000000 -r 5f000ab63145 phone_plat/telephony_bubble_extension_api/inc/telbubblecallimage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phone_plat/telephony_bubble_extension_api/inc/telbubblecallimage.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2008 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: Extension control for displaying call image. +* +*/ + + +#ifndef TELBUBBLECALLIMAGE_H +#define TELBUBBLECALLIMAGE_H + +#include + +class CFbsBitmap; + +/** + * Extension control for displaying call image. + * + * + * @lib BMCustomization.lib + * @since S60 v5.0 + */ +class CTelBubbleCallImage : public CCoeControl + { +public: + /** Two phase constructor */ + IMPORT_C static CTelBubbleCallImage* NewL(); + + /** destructor */ + IMPORT_C virtual ~CTelBubbleCallImage(); + +public: + /** + * Set call image. The bitmaps are set by Phone application, + * when it has created bitmaps from the call image. + * @param aImage Call image bitmap. + * @param aImageOwnership ETrue, if ownership is transferred. + * @param aMask Mask bitmap when exists. + * @param aMaskOwnership ETrue, if ownership is transferred. + */ + IMPORT_C void SetImage( CFbsBitmap* aImage, + TBool aImageOwnership = EFalse, + CFbsBitmap* aMask = NULL, + TBool aMaskOwnership = EFalse ); + + /** + * Set image placing area. This is set by Phone application. + * @param aRect + */ + IMPORT_C void SetImagePlacingArea( TRect& aRect ); + +protected: + /** + * Called when image is changed. + */ + IMPORT_C virtual void ImageChanged(); + + /** + * Returns pointer to image bitmap. + */ + IMPORT_C const CFbsBitmap* Image() const; + + /** + * Returns pointer to mask bitmap. + */ + IMPORT_C const CFbsBitmap* Mask() const; + + /** + * Returns ETrue if image covers this control entirely. + */ + IMPORT_C TBool IsFullScreenImage() const; + + /** + * Returns offset centering image to this control. + * For non fullscreen images this offset is relative + * to image placing area. + */ + IMPORT_C const TPoint& Offset() const; + + /** + * Returns source rect centering image to this control. + * For non-fullscreen images this offset is relative + * to image placing area. + */ + IMPORT_C const TRect& SourceRect() const; + + /** + * Returns image placing area. Can be used to position + * non-fullscreen sized images. + * @return Image placing area. + */ + IMPORT_C const TRect& ImagePlacingArea() const; + +protected: // from CCoeControl + IMPORT_C virtual void Draw( const TRect& /*aRect*/ ) const; + IMPORT_C virtual void SizeChanged(); + +protected: + IMPORT_C virtual void ConstructL(); + IMPORT_C CTelBubbleCallImage(); + +private: + TRect iSourceRect; + TPoint iOffset; + TRect iImagePlacingArea; + CFbsBitmap *iImage; + CFbsBitmap *iMask; + TBool iImageOwnership; + TBool iMaskOwnership; + }; + +#endif // TELBUBBLECALLIMAGE_H + +// end of file