--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textrendering/texthandling/stext/TXTSTD.H Tue Feb 02 02:02:46 2010 +0200
@@ -0,0 +1,237 @@
+/*
+* 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 "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:
+*
+*/
+
+
+#ifndef __TXTSTD_H__
+#define __TXTSTD_H__
+
+#include <e32std.h>
+#include <txtfrmat.h>
+
+class TCharFormatX
+/**
+The extended character format used internally.
+As well as the public TCharFormat attributes it stores
+any attributes that are useful only inside ETEXT.
+@internalComponent
+*/
+ {
+ public:
+ TCharFormatX(): iParserTag(0) { }
+ TCharFormatX(const TCharFormat& aCharFormat): iCharFormat(aCharFormat), iParserTag(0) { }
+
+ TCharFormat iCharFormat;
+ TUint iParserTag;
+ };
+
+/**
+Attributes not used in the format masks, but used to store system colour indices, etc.
+This method maintains data compatibility. For example, a paragraph fill colour, including its
+fourth byte that is used as the system colour index, is selected by a single mask but corresponding
+to EAttFillColor, but is stored using two attribute flags: one for the three bytes of the RGB colour,
+and one extra optional one for the system colour index.
+@internalComponent
+*/
+enum TTextFormatNonMaskableAttribute
+ {
+ EAttFillSystemColor = ETextFormatAttributeCount,
+ EAttBulletSystemColor,
+ EAttTopBorderSystemColor,
+ EAttBottomBorderSystemColor,
+ EAttLeftBorderSystemColor,
+ EAttRightBorderSystemColor,
+ EAttTextSystemColor,
+ EAttFontHighlightSystemColor,
+ EAttParaLanguageX,
+ EAttCharLanguageX,
+ EAttBulletX,
+ EAttBitmapType,
+
+ EExternalizedAttributeCount
+ };
+
+
+/**
+Attributes used to mask internal character attributes.
+@internalComponent
+*/
+enum TCharFormatXAttribute
+ {
+ EAttParserTag = EExternalizedAttributeCount,
+
+ EAttributeCount
+ };
+
+class TCharFormatXMask: public TCharFormatMask
+/**
+A mask that can deal with TCharFormatXAttributes as well as TTextFormatAttributes
+@internalComponent
+*/
+ {
+ public:
+ TCharFormatXMask(): TCharFormatMask() { }
+ TCharFormatXMask(TCharFormatMask aMask): TCharFormatMask(aMask) { }
+
+ /*
+ An offset to make extended attribute flags contiguous with ordinary character attributes
+ so that we don't run out of bits if more non-maskable attributes are invented.
+ */
+ enum
+ {
+ EAttribOffset = EExternalizedAttributeCount - ETextFormatAttributeCount
+ };
+
+ void SetAttrib(TTextFormatAttribute aAttribute)
+ { TCharFormatMask::SetAttrib(aAttribute); }
+ void ClearAttrib(TTextFormatAttribute aAttribute)
+ { TCharFormatMask::ClearAttrib(aAttribute); }
+ TBool AttribIsSet(TTextFormatAttribute aAttribute) const
+ { return TCharFormatMask::AttribIsSet(aAttribute); }
+
+ void SetAttrib(TCharFormatXAttribute aAttribute)
+ { TCharFormatMask::SetAttrib((TTextFormatAttribute)(aAttribute - EAttribOffset)); }
+ void ClearAttrib(TCharFormatXAttribute aAttribute)
+ { TCharFormatMask::ClearAttrib((TTextFormatAttribute)(aAttribute - EAttribOffset)); }
+ TBool AttribIsSet(TCharFormatXAttribute aAttribute) const
+ { return TCharFormatMask::AttribIsSet((TTextFormatAttribute)(aAttribute - EAttribOffset)); }
+ void ClearExtendedAttribs() { ClearAttrib(EAttParserTag); }
+ };
+
+
+/**
+@internalComponent
+*/
+enum TETextPanic
+ {
+ // General
+ EDebug,
+ EDebugDeleteZeroLength,
+
+ // Format attributes
+ ETabNotFound,
+
+ // Format layer storage
+ EAttributeLengthLookupNegative,
+ EStoreTabError,
+ ECannotStoreFormatLayerChain,
+ ECorruptFormatLayerChain,
+ ECorruptFormatLayer,
+ ENullFormatPointer,
+
+ // Picture Restoration
+ ENullStore,
+ EInvalidPictureFactorySettings,
+ ENullStoreResolver,
+
+ // Plain text
+ ECharPosBeyondDocument,
+ EConstructCalledTwice,
+ ECopyToStreamNegativeLength,
+ EPasteNegativeLength,
+ EDeleteNegativeLength,
+ ECorruptTextStore,
+ EExtractBufferTooSmall,
+ ENoTextField,
+ EExportLineWrapInvalid,
+
+ // Global text
+ ENullFormatLayerHandle,
+ EApplyParaFormatNegativeLength,
+ EApplyCharFormatNegativeLength,
+ EGetParaFormatNegativeLength,
+ EGetCharFormatNegativeLength,
+
+ // Rich text
+ ENullRichTextInsert,
+ EMarkupAlreadyPresent,
+
+ // Rich text index
+ ERichTextIndexIntegrityErr,
+ EPhraseIxPresentWithNoParaIx,
+ ERichTextIndexReset,
+ ESetInsertCharFormatIntegrityErr,
+ EInsertEmbeddedParaErr,
+ EInsertNullPicHdrData,
+ EDeleteFromParagraphInvalidRange,
+ EDeleteParagraphInvalidStartValue,
+ EDeleteParagraphInvalidEndValue,
+ EReclaimShareError,
+ EParaAttribsNotInSharedList,
+ ERichTextNotSetForUsingStyles,
+ EPictureHeaderIndexOutOfRange,
+ ELostPictureHeader,
+ ESplitPhraseCalledOnSharedPara,
+ ESplitPhraseCalledOnPicturePhrase,
+ EGetPictureSizeCalledOnNonPicturePhrase,
+ EModifiedPicturePhraseLength,
+ EReleasCharFormatLayerOwnershipCalledOnPicturePhrase,
+ ERichTextStorePictureIntegrityError,
+ ERtIndexInternalizeCalledOnNonEmptySource,
+ ERtExternalizeParaIx,
+ ESharedParaCountStreamOverflow,
+ EEndOfSharedParaListEncountered,
+ EPasteParaIxError,
+ EPastePhraseIxErr,
+ ESharedFormatsMapIntegrityError,
+ ESharedFormatsMapOverFlow,
+ EParagraphStyleNegativeLength,
+ EApplyParaStyleNegativeLength,
+ ERemoveSpecificParaFormatNegativeLength,
+ ECopyToClipboardNegativeLength,
+ EClipboardIntegrity,
+ ENonOverloadedInsertCalledWithPictureCharacter,
+ EAppendLFoundInMemoryPicture,
+
+ // style clipboarding
+ EStyleClipboardIntegrityError,
+
+ // Paragraph styles
+ EStyleIntegrityError,
+ EStyleIndexOutOfRange,
+
+ // Front end processor inline editing
+ ENotCurrentlyFepInlineEditing,
+ EAlreadyFepInlineEditing,
+
+ // Parser system
+ EParserListNotInitialized,
+ EParserListAlreadyExists,
+ EParserListNotActive,
+ EParserCallbackAlreadySet,
+ EParserTagNotFound,
+ EParserListTextIndexNotInitialized,
+ };
+
+/**
+@internalComponent
+*/
+GLREF_C void Panic(TETextPanic aPanic);
+GLREF_C void ReleaseOnCleanup(TAny* aParaAttribs);
+GLREF_C void ResetOnCleanup(TAny* aParaFormat);
+
+inline void ResetOnCleanupL( CParaFormat* aParaFormat)
+ {
+ CleanupStack::PushL(TCleanupItem(ResetOnCleanup,aParaFormat));
+ }
+
+#if defined(__DLL__)
+#define DLLEXPORT_C EXPORT_C
+#else
+#define DLLEXPORT_C
+#endif
+
+#endif