Viewing file: paragraph.h (2.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* ******************************************************************************* * * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License * ******************************************************************************* ******************************************************************************* * * Copyright (C) 1999-2007, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: Paragraph.h * * created on: 09/06/2000 * created by: Eric R. Mader */ #ifndef __PARAGRAPH_H #define __PARAGRAPH_H
#include "unicode/utypes.h" #include "unicode/ubidi.h"
#include "layout/LEFontInstance.h" #include "layout/ParagraphLayout.h"
#include "GUISupport.h" #include "RenderingSurface.h"
U_NAMESPACE_USE
#define MARGIN 10
#if 0 class LineInfo; #endif
class Paragraph { public: Paragraph(const LEUnicode chars[], le_int32 charCount, const FontRuns *fontRuns, LEErrorCode &status);
~Paragraph();
le_int32 getAscent(); le_int32 getLineHeight(); le_int32 getLineCount(); void breakLines(le_int32 width, le_int32 height); void draw(RenderingSurface *surface, le_int32 firstLine, le_int32 lastLine);
static Paragraph *paragraphFactory(const char *fileName, const LEFontInstance *font, GUISupport *guiSupport);
private: void addLine(const ParagraphLayout::Line *line);
ParagraphLayout **fParagraphLayout;
le_int32 fParagraphCount; le_int32 fParagraphMax; le_int32 fParagraphGrow; le_int32 fLineCount; le_int32 fLinesMax; le_int32 fLinesGrow;
const ParagraphLayout::Line **fLines; LEUnicode *fChars;
le_int32 fLineHeight; le_int32 fAscent; le_int32 fWidth; le_int32 fHeight; UBiDiLevel fParagraphLevel; };
inline le_int32 Paragraph::getLineHeight() { return fLineHeight; }
inline le_int32 Paragraph::getLineCount() { return fLineCount; }
inline le_int32 Paragraph::getAscent() { return fAscent; }
#endif
|