diff -r 000000000000 -r 8466d47a6819 emailuis/uicomponents/inc/fsrichtext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/uicomponents/inc/fsrichtext.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,157 @@ +/* +* Copyright (c) 2007 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: Data structure class for tree list component +* +*/ + + +#ifndef C_FSRICHTEXT_H +#define C_FSRICHTEXT_H + +#include + +class CRichText; +class CFsTexture; + +class TRichTextExapandArea + { + public: + TInt iStartIndex; + TInt iLength; + TInt iCaptionLength; + TBool iIsExpand; + }; + +class TRichTextHotSpotArea + { + public: + TInt iOriginalStartIndex; + TInt iStartIndex; + TInt iLength; + TInt iOriginalLength; + TInt iId; + }; + +class TRichTextPictureArea + { + public: + TInt iPictureIndex; + TFileName iFileName; + }; + +class CMyPicture :public CPicture + { + public: + IMPORT_C CMyPicture( TSize aSize, CFbsBitmap& aBitmap ); + IMPORT_C CMyPicture( TSize aSize, CFbsBitmap& aBitmap, CFbsBitmap& aBitmapMask ); + + IMPORT_C ~CMyPicture(); + + public: + IMPORT_C void Draw( CGraphicsContext& aGc, + const TPoint& aTopLeft, + const TRect& aClipRect, + MGraphicsDeviceMap* aMap ) const; + IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; + + IMPORT_C void SetOriginalSizeInTwips( TSize aSize ); + + IMPORT_C void GetOriginalSizeInTwips( TSize& aSize ) const; + + IMPORT_C CFbsBitmap* GetBitmap(); + + IMPORT_C CFbsBitmap* GetBitmapMask(); + + + protected: + + TSize iSizeInTwips; + CFbsBitmap* iBitmap; + CFbsBitmap* iBitmapMask; + }; + + + + + +class CFsRichText: public CRichText + { + public: + + IMPORT_C static CFsRichText* NewL( + const CParaFormatLayer* aGlobalParaLayer, + const CCharFormatLayer* aGlobalCharLayer, + TDocumentStorage aStorage = ESegmentedStorage, + TInt aDefaultTextGranularity = EDefaultTextGranularity, + TParaType aParaType = EMultiPara); + + IMPORT_C static CFsRichText* NewL( + const CParaFormatLayer* aGlobalParaLayer, + const CCharFormatLayer* aGlobalCharLayer, + const CStyleList& aStyleList, + TDocumentStorage aStorage = ESegmentedStorage, + TInt aDefaultTextGranularity = EDefaultTextGranularity, + TParaType aParaType = EMultiPara); + + IMPORT_C static CFsRichText* NewL( + const CStreamStore& aStore, + TStreamId aStreamId, + const CParaFormatLayer* aGlobalParaLayer, + const CCharFormatLayer* aGlobalCharLayer, + MTextFieldFactory* aFieldFactory = NULL, + TDocumentStorage aStorage = ESegmentedStorage); + + IMPORT_C static CFsRichText* NewL( + const CStreamStore& aStore, + TStreamId aStreamId, + const CParaFormatLayer* aGlobalParaLayer, + const CCharFormatLayer * aGlobalCharLayer, + MPictureFactory* aPictureFactory, + MRichTextStoreResolver* aStoreResolver, + MTextFieldFactory* aFieldFactory = NULL, + TDocumentStorage aStorage = ESegmentedStorage); + + IMPORT_C ~CFsRichText(); + + IMPORT_C TBool SetExpandL(TInt aStartIndex, TInt aLength, TInt aCaptionLength); + IMPORT_C TInt GetNumberOfExpandAreas(); + IMPORT_C TRichTextExapandArea GetExpandAreaL(TInt aIndex); + + IMPORT_C TBool SetHotSpotL(TInt aStartIndex, TInt aLength, TInt aId = 0); + IMPORT_C TInt GetNumberOfHotSpotAreas(); + IMPORT_C TRichTextHotSpotArea GetHotSpotAreaL(TInt aIndex); + + IMPORT_C TBool SetPictureL(TFileName aFileName, TInt aIndex); + IMPORT_C TInt GetNumberOfPicture(); + // + IMPORT_C TRichTextPictureArea GetPictureAreaL(TInt aIndex); + // + + IMPORT_C void Reset(); + + + private: + + CFsRichText(const CParaFormatLayer* aGlobalParaLayer, + const CCharFormatLayer* aGlobalCharLayer, + CStyleList* aStyleList = NULL); + + private: + RArray iExpandAreaArray; + RArray iHotSpotAreaArray; + RArray iPictureAreaArray; + + }; + +#endif //C_FSRICHTEXT_H