Imported Upstream version 58.1
[platform/upstream/icu.git] / source / samples / layout / pflow.h
1 /*
2  *
3  * Copyright (C) 2016 and later: Unicode, Inc. and others.
4  * License & terms of use: http://www.unicode.org/copyright.html#License
5  *
6  * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
7  *
8  */
9
10 #ifndef __PFLOW_H
11 #define __PFLOW_H
12
13 #include "unicode/utypes.h"
14 #include "layout/LETypes.h"
15
16 #include "layout/plruns.h"
17 #include "layout/playout.h"
18
19 #include "gsupport.h"
20 #include "rsurface.h"
21
22 typedef void pf_flow;
23
24 pf_flow *pf_create(const LEUnicode chars[], le_int32 charCount, const pl_fontRuns *fontRuns, LEErrorCode *status);
25
26 void pf_close(pf_flow *flow);
27
28 le_int32 pf_getAscent(pf_flow *flow);
29 le_int32 pf_getLineHeight(pf_flow *flow);
30 le_int32 pf_getLineCount(pf_flow *flow);
31 void pf_breakLines(pf_flow *flow, le_int32 width, le_int32 height);
32 void pf_draw(pf_flow *flow, rs_surface *surface, le_int32 firstLine, le_int32 lastLine);
33
34 pf_flow *pf_factory(const char *fileName, const le_font *font, gs_guiSupport *guiSupport);
35
36 #endif