2 *******************************************************************************
4 * Copyright (C) 2016 and later: Unicode, Inc. and others.
5 * License & terms of use: http://www.unicode.org/copyright.html#License
7 *******************************************************************************
8 *******************************************************************************
10 * Copyright (C) 1999-2007, International Business Machines
11 * Corporation and others. All Rights Reserved.
13 *******************************************************************************
14 * file name: Paragraph.h
16 * created on: 09/06/2000
17 * created by: Eric R. Mader
22 #include "unicode/utypes.h"
23 #include "unicode/ubidi.h"
25 #include "layout/LEFontInstance.h"
26 #include "layout/ParagraphLayout.h"
28 #include "GUISupport.h"
29 #include "RenderingSurface.h"
42 Paragraph(const LEUnicode chars[], le_int32 charCount, const FontRuns *fontRuns, LEErrorCode &status);
47 le_int32 getLineHeight();
48 le_int32 getLineCount();
49 void breakLines(le_int32 width, le_int32 height);
50 void draw(RenderingSurface *surface, le_int32 firstLine, le_int32 lastLine);
52 static Paragraph *paragraphFactory(const char *fileName, const LEFontInstance *font, GUISupport *guiSupport);
55 void addLine(const ParagraphLayout::Line *line);
57 ParagraphLayout **fParagraphLayout;
59 le_int32 fParagraphCount;
60 le_int32 fParagraphMax;
61 le_int32 fParagraphGrow;
67 const ParagraphLayout::Line **fLines;
74 UBiDiLevel fParagraphLevel;
77 inline le_int32 Paragraph::getLineHeight()
82 inline le_int32 Paragraph::getLineCount()
87 inline le_int32 Paragraph::getAscent()