--- /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 <txtrich.h>
+
+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();
+ // <cmail>
+ IMPORT_C TRichTextPictureArea GetPictureAreaL(TInt aIndex);
+ // </cmail>
+
+ IMPORT_C void Reset();
+
+
+ private:
+
+ CFsRichText(const CParaFormatLayer* aGlobalParaLayer,
+ const CCharFormatLayer* aGlobalCharLayer,
+ CStyleList* aStyleList = NULL);
+
+ private:
+ RArray<TRichTextExapandArea> iExpandAreaArray;
+ RArray<TRichTextHotSpotArea> iHotSpotAreaArray;
+ RArray<TRichTextPictureArea> iPictureAreaArray;
+
+ };
+
+#endif //C_FSRICHTEXT_H