graphicsdeviceinterface/gdi/inc/BidiText.h
changeset 183 6a1564a2f3e6
parent 168 2bd88482bfe5
child 194 18f84489a694
--- a/graphicsdeviceinterface/gdi/inc/BidiText.h	Thu Sep 02 21:50:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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 BIDITEXT_H_
-#define BIDITEXT_H_
-
-#include <e32std.h>
-#include <gdi.h>
-#include <bidi.h> // class TBidirectionalState::TRunInfo
-enum CGraphicsContext::TTextAlign;
-class MLineBreaker;
-class RRunInfoArray;
-class CBidiTextTls;
-
-
-/**
-This enumeration holds the possible panic codes that may be raised 
-by the BidiText API on detecting an unrecoverable error.
-@publishedAll
-@released
-*/
-enum TBidiPanic
-	{
-	/** The call to RRunInfoArray::OpenL() has not been made prior to this call to TBidiText::SetText()
-	@see TBidiText::SetText	*/
-	EBidiPanic_RunArrayNull						= 0,
-	
-	/** Maximum number of lines that the text will need to be split into is invalid i.e less than zero or negative.
-	@see TBidiText::NewL
-	@see TBidiText::MinimumSize	*/
-	EBidiPanic_InvalidMaxline					= 1,
-	
-	/** Maximum number of characters are invalid i.e less than zero or negative.
-	@see TBidiText::NewL */
-	EBidiPanic_InvalidReservedMaxLength			= 2,
-	
-	/** Maximum width of the text in pixels is invalid i.e zero or negative.
-	@see TBidiText::MinimumSize */
-	EBidiPanic_InvalidWrappingWidth				= 3,
-	
-	/** Number of empty pixels between two lines of text are invalid i.e zero or negative.
-	@see TBidiText::MinimumSize */
-	EBidiPanic_InvalidLineGap					= 4,
-	
-	/** Text length for display is invalid i.e zero or negative.
-	@see TBidiText::DisplayText
-	@see TBidiText::LineOfDisplayText */
-	EBidiPanic_InvalidVisualOrderedTextLength	= 5,
-	
-	/** Line number to retrieve is invalid i.e zero or negative. 
-	@see TBidiText::LineOfDisplayText */
-	EBidiPanic_InvalidLineNumber				= 6
-	};
-
-/** 
-This class works as a replacement for HBufC in those cases where a small 
-amount of text is being formatted simply. The text must be all of one style 
-and broken into lines of all the same length. The number of lines and the text 
-itself is specified on construction, and the text may then be re-broken, 
-re-truncated and re-drawn with non-leaving functions. 
-@publishedAll
-@released
-*/
-class TBidiText
-	{
-public:
-	/** Overall directionality of the text. */
-	enum TDirectionality
-		{
-		/** Text reading begins on the left. */
-		ELeftToRight = 0,
-		/** Text reading begins on the right. */
-		ERightToLeft = 1
-		};
-
-	/** Class specific panic codes 
-	@deprecated This enum has been replaced by TBidiPanic.
-    */
-	enum TPanicCodes
-		{
-		EPanicRunArrayNull,
-		};
-
-	IMPORT_C static TDirectionality ScriptDirectionality(TLanguage aLanguage);
-	IMPORT_C static TDirectionality TextDirectionality(
-		const TDesC& aText, TBool* aFound = 0);
-protected:
-	TBidiText();
-public:
-	IMPORT_C static TBidiText* NewL(TInt aReservedMaxLength, TInt aMaxLines);
-	IMPORT_C static TBidiText* NewL(const TDesC& aText, TInt aMaxLines);
-	IMPORT_C static TBidiText* NewL(const TDesC& aText, TInt aMaxLines,
-		TDirectionality aDirectionality);
-	IMPORT_C TInt SetText(const TDesC& aText, RRunInfoArray& aRunInfoArray);
-	IMPORT_C TInt SetText(const TDesC& aText, TDirectionality aDirectionality, RRunInfoArray& aRunInfoArray);
-	IMPORT_C void SetTruncationChar(TChar aTruncateWith);
-	IMPORT_C void WrapText(TInt aWrappingWidth, const CFont& aFont,
-		const MLineBreaker* aBreaker, TInt aMaxLines);
-	IMPORT_C void WrapText(TInt aWrappingWidth, const CFont& aFont,
-		const MLineBreaker* aBreaker = NULL);
-	IMPORT_C TSize MinimumSize(TInt aWrappingWidth, const CFont& aFont, TInt aLineGap, TInt aMaxLines = -1,
-		const MLineBreaker* aBreaker = NULL) const;	
-	IMPORT_C TPtrC Text() const;
-	IMPORT_C TPtrC DisplayText() const;
-	IMPORT_C TInt WrappingWidth() const;
-	IMPORT_C TDirectionality Directionality() const;
-	IMPORT_C TChar TruncationChar() const;
-	IMPORT_C TInt NumberOfLinesInDisplayText() const;
-	IMPORT_C TPtrC LineOfDisplayText(TInt aLine, TInt& aWidthInPixels) const;
-	IMPORT_C void DrawText(CGraphicsContext& aGc, const TPoint& aLeft) const;
-	IMPORT_C void DrawText(CGraphicsContext& aGc,
-		const TPoint& aLeft, TInt aBaseLineSpacing,
-		CGraphicsContext::TTextAlign aAlignment) const;
-	IMPORT_C void DrawText(CGraphicsContext& aGc,
-		const TPoint& aLeft, TInt aBaseLineSpacing) const;
-private:
-	TInt DoWrapText(TInt aWrappingWidth, const CFont& aFont, const MLineBreaker* aBreaker, 
-		TInt aMaxLines, TText*& aOutputText, TInt& aNumLines, TInt16* aLineWidthArray) const;
-	};
-
-
-/**
-This class is used to keep track of the shared run info array. 
-Keep it open for as long as the TBidiText object is used. The same
-RRunInfoArray object can be used with several different TBidiText objects.
-@publishedAll
-@released
-*/
-class RRunInfoArray
-	{
-	friend class TBidiText;
-
-public:	
-	IMPORT_C RRunInfoArray();
-	IMPORT_C void OpenL();
-	IMPORT_C void Close();
-
-private:
-	TBidirectionalState::TRunInfo* RunArray() const;
-
-private:
-	CBidiTextTls* iTls;
-	};
-
-#endif