--- a/epoc32/include/txtglobl.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/txtglobl.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,118 @@
-txtglobl.h
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __TXTGLOBL_H__
+#define __TXTGLOBL_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <txtlaydc.h>
+#include <txtmfmtx.h>
+#include <txtetext.h>
+
+
+// forward declarations
+class CParaFormatLayer;
+class CCharFormatLayer;
+class TCharFormatX;
+class TCharFormatXMask;
+
+
+// Globally formatted text.
+// Uses one instance of each a paragraph format and character format class; Each presents
+// the formatting applied to the total document contents. Both of the format classes used
+// may utilise layering of formats through 'based on' links to achieve full format specification.
+// These global layers are *never* owned by global text, merely referenced.
+
+/**
+Text with globally applied formatting.
+
+Global text uses a single set of paragraph format attributes to describe the
+appearance of every paragraph and a single set of character format attributes
+to describe the appearance of every character.
+
+The paragraph formatting is stored in a CParaFormatLayer and the character
+formatting is stored in a CCharFormatLayer. A format layer is a set of character
+or paragraph format attributes, which may own a pointer to another format
+layer. This pointer is called a based-on link. The effective formatting of
+a global text object is the set of attributes specified in its two format
+layers, as well as any attributes inherited from the layers' chain of based-on
+links. To get the effective formatting, the links are read in turn, so that
+each attribute's value is taken from the first layer in the chain in which
+it has been set. Use GetCharFormat() and GetParaFormatL() to get the text
+object's effective formatting.
+
+A global text object references the two format layers; it does not own them.
+This allows more than one global text object to use the same formatting. The
+format layers may be modified (see ApplyParaFormatL() and ApplyCharFormatL())
+or replaced (see SetGlobalParaFormat() and SetGlobalCharFormat()) during the
+text object's lifetime.
+@publishedAll
+@released
+*/
+class CGlobalText : public CPlainText,public MLayDoc,public MFormatText
+ {
+public:
+// Special member functions
+ // Create new global text component whose sole content is an end-of-document character.
+ IMPORT_C static CGlobalText* NewL(const CParaFormatLayer* aGlobalParaLayer,const CCharFormatLayer* aGlobalCharLayer,
+ TDocumentStorage aStorage=ESegmentedStorage,TInt aDefaultTextGranularity=EDefaultTextGranularity);
+ // Restore a new global text, that uses the specified global layers.
+ IMPORT_C static CGlobalText* NewL(const CStreamStore& aStore,TStreamId aStreamId,
+ const CParaFormatLayer* aGlobalParaLayer,const CCharFormatLayer* aGlobalCharLayer,
+ MTextFieldFactory* aFieldFactory=NULL,
+ TDocumentStorage=ESegmentedStorage);
+ IMPORT_C ~CGlobalText();
+// Global Format Layers
+ IMPORT_C void SetGlobalParaFormat(const CParaFormatLayer* aParaFormatLayer);
+ IMPORT_C void SetGlobalCharFormat(const CCharFormatLayer* aCharFormatLayer);
+ inline const CParaFormatLayer* GlobalParaFormatLayer()const;
+ inline const CCharFormatLayer* GlobalCharFormatLayer()const;
+// MLayDoc implementation
+ IMPORT_C virtual TInt LdDocumentLength()const;
+ IMPORT_C virtual TInt LdToParagraphStart(TInt& aCurrentPos)const;
+ IMPORT_C virtual void GetParagraphFormatL(CParaFormat* aFormat,TInt aPos)const;
+ IMPORT_C virtual void GetChars(TPtrC& aView,TCharFormat& aFormat,TInt aStartPos)const;
+ IMPORT_C virtual TInt GetPictureSizeInTwips(TSize& aSize, TInt aPos)const;
+ IMPORT_C virtual CPicture* PictureHandleL(TInt aPos,MLayDoc::TForcePictureLoad aForceLoad)const;
+ IMPORT_C virtual TBool EnquirePageBreak(TInt aPos,TInt aLength=0)const;
+ IMPORT_C virtual TBool SelectParagraphLabel(TInt aPos);
+ IMPORT_C virtual void CancelSelectLabel();
+// MFormatText implementation
+ IMPORT_C virtual void GetParaFormatL(CParaFormat* aFormat,TParaFormatMask& aVaries,TInt aPos,TInt aLength,
+ CParaFormat::TParaFormatGetMode aMode=CParaFormat::EAllAttributes)const;
+ IMPORT_C virtual void ApplyParaFormatL(const CParaFormat* aFormat,const TParaFormatMask& aMask,TInt aPos,TInt aLength);
+ IMPORT_C virtual void GetCharFormat(TCharFormat& aFormat,TCharFormatMask& aVaries,TInt aPos,TInt aLength)const;
+ IMPORT_C virtual void ApplyCharFormatL(const TCharFormat& aFormat,const TCharFormatMask& aMask,TInt aPos,TInt aLength);
+protected:
+ IMPORT_C CGlobalText();
+ IMPORT_C CGlobalText(const CParaFormatLayer* aGlobalParaLayer,
+ const CCharFormatLayer* aGlobalCharLayer);
+private:
+ CGlobalText(const CGlobalText& aGlobalText);
+ CGlobalText& operator=(const CGlobalText& aGlobalText);
+protected:
+ const CParaFormatLayer* iGlobalParaFormatLayer; // the global paragraph format layer; not owned
+ const CCharFormatLayer* iGlobalCharFormatLayer; // the global character format layer; not owned
+ __DECLARE_TEST;
+private:
+ void* iReserved_2;
+ };
+
+
+#include <txtglobl.inl>
+
+
+#endif