diff -r d189ee25cf9d -r 3533d4323edc emailuis/uicomponents/inc/fstextviewermarkfacility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/uicomponents/inc/fstextviewermarkfacility.h Wed Sep 01 12:28:57 2010 +0100 @@ -0,0 +1,89 @@ +/* +* 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: Responsible for marking capabilities +* +*/ + + +#ifndef C_FSTEXTVIEWERMARKFACILITY_H +#define C_FSTEXTVIEWERMARKFACILITY_H + +// removed __FS_ALFRED_SUPPORT flag +//#include +// removed __FS_ALFRED_SUPPORT flag + +#include "fstextviewervisualizerdata.h" + +class CFsTextViewerVisualizer; +class CAlfVisual; +class CAlfControl; +class CAlfBorderBrush; +class CFsTextViewerSkinData; + +class CFsTextViewerMarkFacility : public CBase + { + public: + static CFsTextViewerMarkFacility* NewL( + CAlfLayout* aLayout, + CAlfControl* aControl, + CFsTextViewerVisualizerData* aNavigator, + CFsTextViewerSkinData* aSkinData ); + ~CFsTextViewerMarkFacility(); + void SetHeadOffsetL( TInt aHead ); + void SetTailOffsetL( TInt aTail ); + void FollowCursorL(); + void SetLayout( CAlfLayout* aLayout ); + void GetRange( TInt& aBegin, TInt& aEnd ) const; + + protected: + CAlfVisual* CreateMarkVisualL( + CAlfVisual* aVisual, + TInt aBegin, TInt aEnd ); + void UpdateImageVisualL( + CAlfVisual* aVisual, + CAlfVisual* aBaseVisual ); + void UpdateTextVisualL( CAlfVisual* aVisual, + CAlfVisual* aBaseVisual, + TInt aBegin, TInt aEnd ); + + private: + void ConstructL(); + CFsTextViewerMarkFacility( + CAlfLayout* aLayout, + CAlfControl* aControl, + CFsTextViewerVisualizerData* aNavigator, + CFsTextViewerSkinData* aSkinData ); + + private: + TInt VisualLength( CAlfVisual* aVisual ); + TInt Find( CAlfVisual* aVisual ); + CAlfVisual* Find( TInt aOffset ); + TInt FindIndex( TInt aOffset ); + TInt LocalVisOffset( TInt aGlobalOffset ); + void DeleteUnused(); + TBool IsHeadVisual( TInt aGlobalOffset ); + + private: + CFsTextViewerVisualizerData* iNavigator; + TInt iHead; + TInt iTail; + CAlfLayout* iLayout; + CAlfControl* iControl; + RArray iVisuals; + CAlfBorderBrush* iBorder; + CFsTextViewerSkinData* iSkinData; + + }; + +#endif //C_FSTEXTVIEWERMARKFACILITY_H