--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/uicomponents/inc/fstextviewermarkfacility.h Thu Dec 17 08:39:21 2009 +0200
@@ -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
+
+//<cmail> removed __FS_ALFRED_SUPPORT flag
+//#include <fsconfig.h>
+//</cmail> 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<TFsRangedVisual> iVisuals;
+ CAlfBorderBrush* iBorder;
+ CFsTextViewerSkinData* iSkinData;
+
+ };
+
+#endif //C_FSTEXTVIEWERMARKFACILITY_H