12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /*
- *******************************************************************************
- *
- * © 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
|