graphicsdeviceinterface/gdi/sgdi/LineBreakImp.h
changeset 183 6a1564a2f3e6
parent 168 2bd88482bfe5
child 194 18f84489a694
--- a/graphicsdeviceinterface/gdi/sgdi/LineBreakImp.h	Thu Sep 02 21:50:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-// Copyright (c) 2002-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 LINEBREAKIMP_H_
-#define LINEBREAKIMP_H_
-
-#include <e32def.h>
-
-const TText KZeroWidthSpace = 0x200B;
-const TText KWhiteSpace = 0x0020;
-
-// Forward delcarations.
-GLREF_C void Panic(TInt aError);
-class MLineBreaker;
-
-/**
- Rule for which classes may be broken before.
-@internalComponent
- */
-struct TLineBreakRule
-	{
-	/** Classes that breaks are illegal before, even after spaces. */
-	TUint iForbid;
-	/** Classes that breaks are legal before, even without spaces. */
-	TUint iAllow;
-	};
-
-/**
- Range of characters which have a particular line breaking class.
-@internalComponent
- */
-struct TLineBreakRange
-	{
-	TUint iStart;
-	TUint iEnd;
-	TUint iClass;
-	};
-
-/**
- Single-entry line break cache. Saves asking the MLineBreaker for the classes
- of multiple characters in the same run.
-@internalComponent
- */
-class TLineBreakClassCache
-	{
-public:
-	TLineBreakClassCache(const MLineBreaker& aBreaker): iBreaker(aBreaker), iStart(0), iEnd(0), iClass(0) { }
-	TUint LineBreakClass(TUint aChar);
-	const MLineBreaker& Breaker() const { return iBreaker; }
-
-private:
-	const MLineBreaker& iBreaker;
-	TUint iStart;
-	TUint iEnd;
-	TUint iClass;
-	};
-
-/**
-@internalComponent
- */
-void TestLineBreakTables(void);
-
-/**
-@internalComponent
- */
-class TLineBreakClassIterator
-	{
-public:
-	void Set(const TText* aFirst, const TText* aText, TLineBreakClassCache& aBreaker);
-	void SetNull();
-	/** Returns the pointer to the character that has the class returned by
-	Class(). */
-	const TText* Ptr() const { return iCurrent; }
-	/** Returns the class of the current character. */
-	TInt Class() const { return iClass; }
-	// Will not go beyond maximum of aLimit
-	// Should not be called with aLimit == Ptr()
-	// Will return EFalse if the limit has been exceeded
-	// aOffset must be 1 or -1
-	TBool Move(const TText* aLimit, const TText* aLimitAfterSpaces,
-		TInt aOffset, TBool& aHasSpaces, TLineBreakClassCache& aBreaker);
-private:
-    /** Addres of first character in the string to iterator through */
-    const TText* iFirst;
-	/** Current position within the iteration. */
-	const TText* iCurrent;
-	/** Class of the character at the currrent position. */
-	TInt iClass;
-	};
-
-
-/**
-@internalComponent
- */
-TInt MoveTextPtr(const TText*& aPtr, const TText* aLimit, TInt aOffset);
-
-/**
- Class for implementing the Unicode line breaking algorithm
-@internalComponent
- */
-class TLineBreakIterator
-	{
-public:
-	TLineBreakIterator(TLineBreakClassCache& aBreaker,
-		const TText* aText, TInt aLength, TBool aForwards,
-		TInt aMinBreakPos, TInt aMaxBreakPos);
-	TBool IsBreak(TBool aForwards);
-	// Is one side of the potential line break CB class?
-	TBool HasContingentBreak() const;
-	// Get class before the break: useful for CB
-	TInt PreviousClass() const;
-	// Get class after the break: useful for CB
-	TInt NextClass() const;
-	// Are there spaces between the classes: useful for CB
-	TInt HasSpaces() const;
-	// go backwards
-	TBool Decrement();
-	// go forwards
-	TBool Increment();
-	// position of iterator at the break
-	TInt BreakPos() const;
-	// position of iterator after the break
-	TInt AfterBreakPos() const;
-	// position of iterator before the break
-	TInt BeforeBreakPos() const;
-private:
-	TLineBreakClassCache iBreaker;
-	const TText* iText;
-	TInt iTextLength;
-	const TText* iLimit;
-	/** The limit that we are allowed to search beyond space characters. For
-	forwards this will be up to the end of the text, for backwards we may not
-	search beyond the minimum break position because that would mean that the
-	break position returned would be below the minimum. */
-	const TText* iLimitAfterSpaces;
-	TLineBreakClassIterator iBeforeBreak;
-	TLineBreakClassIterator iAfterBreak;
-	TBool iHasSpaces;
-	/** Holds the address of the lowest point allowed to break at */
-	const TText* iMinBreakPos;
-	/** Holds the address of the highest point allowed to break at */
-	const TText* iMaxBreakPos;
-	};
-
-/** 
-@internalComponent 
-*/
-TBool HasContingentBreak(TLineBreakIterator& aIterator, TBool aForwards,
-	MContingentLineBreaker& aCbDelegate);
-
-/** 
-@internalComponent 
-*/
-TBool HasContingentBreakL(TLineBreakIterator& aIterator, TBool aForwards,
-	MContingentLineBreakerL& aCbDelegate);
-
-/** 
-@internalComponent 
-*/
-TBool FindBreak(TLineBreakIterator& aIterator, TBool aForwards,
-	MContingentLineBreaker* aCbDelegate);
-
-/** 
-@internalComponent 
-*/
-TBool FindBreakL(TLineBreakIterator& aIterator, TBool aForwards,
-	MContingentLineBreakerL* aCbDelegate);
-
-#endif