diff -r 969102054596 -r 414d4b727fd9 graphicsdeviceinterface/gdi/sgdi/BidiCompact.h --- a/graphicsdeviceinterface/gdi/sgdi/BidiCompact.h Wed Aug 25 08:17:25 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +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 BIDICOMPACT_H_ -#define BIDICOMPACT_H_ - -#include -#include - -class TRunInfoCompact -/** -Stores information about a run and how to re-order it. -@internalTechnology -*/ - { -public: - /** Describes text to be re-ordered. - @internalTechnology */ - class TReorderingContext - { - public: - /** Where the logical-order text starts. */ - const TText* iSource; - /** The start of the line. */ - TInt iStart; - /** One past the end of the line. */ - TInt iEnd; - /** - * Truncation character, if there is to be one on this line. Otherwise, - * 0xFFFF. - */ - TChar iTruncation; - /** ETrue if the line must join at its beginning. */ - TBool iJoinsAtStart; - /** ETrue if the line must join at its end. */ - TBool iJoinsAtEnd; - }; - - /** How to re-order the run. - @internalTechnology */ - enum TTypeFlags - { - /** Reverse the run, but not surrogate pairs or combining characters. */ - EFRightToLeft = 0x80000000, - /** Simply reverse the run, do not check for surrogates or combiners. */ - EFNoPairsNoCombiners = 0x40000000, - /** No mirrored characters are present. */ - EFNoMirroredCharacters = 0x20000000 - }; - - /** Sets up an empty run. - @internalTechnology */ - TRunInfoCompact() : iStart(0), iLengthAndType(0) {} - TRunInfoCompact(TInt aStart, TInt aLength, TBool aReverse, - const TText* aText); - TRunInfoCompact(TInt aStart, TInt aLength, TBool aReverse); - TBool AddRun(const TRunInfoCompact& aToBeAdded); - TText* Reorder(TText* aDestination, const TReorderingContext& aContext) const; - - /** @return The start of this run. - @internalTechnology */ - TInt Start() const { return iStart; } - - /**@return The length of this run. - @internalTechnology */ - TInt Length() const { return static_cast(iLengthAndType & 0x0FFFFFFF); } - - /** @return The flags associated with this run. - @internalTechnology */ - TInt TypeFlags() const { return iLengthAndType & 0xF0000000; } - - static TInt Convert(TRunInfoCompact* aBuffer, const TDesC& aText, - const TBidirectionalState::TRunInfo* aRunArray, TInt aArraySize); - static TBool JoinBefore(const TText* aText, TInt aIndex); -private: - TInt iStart; - TUint iLengthAndType; - }; - -#endif -