rev |
line source |
nuclear@0
|
1 /***************************************************************************/
|
nuclear@0
|
2 /* */
|
nuclear@0
|
3 /* ftbbox.h */
|
nuclear@0
|
4 /* */
|
nuclear@0
|
5 /* FreeType exact bbox computation (specification). */
|
nuclear@0
|
6 /* */
|
nuclear@0
|
7 /* Copyright 1996-2001, 2003, 2007 by */
|
nuclear@0
|
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
nuclear@0
|
9 /* */
|
nuclear@0
|
10 /* This file is part of the FreeType project, and may only be used, */
|
nuclear@0
|
11 /* modified, and distributed under the terms of the FreeType project */
|
nuclear@0
|
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
nuclear@0
|
13 /* this file you indicate that you have read the license and */
|
nuclear@0
|
14 /* understand and accept it fully. */
|
nuclear@0
|
15 /* */
|
nuclear@0
|
16 /***************************************************************************/
|
nuclear@0
|
17
|
nuclear@0
|
18
|
nuclear@0
|
19 /*************************************************************************/
|
nuclear@0
|
20 /* */
|
nuclear@0
|
21 /* This component has a _single_ role: to compute exact outline bounding */
|
nuclear@0
|
22 /* boxes. */
|
nuclear@0
|
23 /* */
|
nuclear@0
|
24 /* It is separated from the rest of the engine for various technical */
|
nuclear@0
|
25 /* reasons. It may well be integrated in `ftoutln' later. */
|
nuclear@0
|
26 /* */
|
nuclear@0
|
27 /*************************************************************************/
|
nuclear@0
|
28
|
nuclear@0
|
29
|
nuclear@0
|
30 #ifndef __FTBBOX_H__
|
nuclear@0
|
31 #define __FTBBOX_H__
|
nuclear@0
|
32
|
nuclear@0
|
33
|
nuclear@0
|
34 #include <ft2build.h>
|
nuclear@0
|
35 #include FT_FREETYPE_H
|
nuclear@0
|
36
|
nuclear@0
|
37 #ifdef FREETYPE_H
|
nuclear@0
|
38 #error "freetype.h of FreeType 1 has been loaded!"
|
nuclear@0
|
39 #error "Please fix the directory search order for header files"
|
nuclear@0
|
40 #error "so that freetype.h of FreeType 2 is found first."
|
nuclear@0
|
41 #endif
|
nuclear@0
|
42
|
nuclear@0
|
43
|
nuclear@0
|
44 FT_BEGIN_HEADER
|
nuclear@0
|
45
|
nuclear@0
|
46
|
nuclear@0
|
47 /*************************************************************************/
|
nuclear@0
|
48 /* */
|
nuclear@0
|
49 /* <Section> */
|
nuclear@0
|
50 /* outline_processing */
|
nuclear@0
|
51 /* */
|
nuclear@0
|
52 /*************************************************************************/
|
nuclear@0
|
53
|
nuclear@0
|
54
|
nuclear@0
|
55 /*************************************************************************/
|
nuclear@0
|
56 /* */
|
nuclear@0
|
57 /* <Function> */
|
nuclear@0
|
58 /* FT_Outline_Get_BBox */
|
nuclear@0
|
59 /* */
|
nuclear@0
|
60 /* <Description> */
|
nuclear@0
|
61 /* Compute the exact bounding box of an outline. This is slower */
|
nuclear@0
|
62 /* than computing the control box. However, it uses an advanced */
|
nuclear@0
|
63 /* algorithm which returns _very_ quickly when the two boxes */
|
nuclear@0
|
64 /* coincide. Otherwise, the outline Bézier arcs are traversed to */
|
nuclear@0
|
65 /* extract their extrema. */
|
nuclear@0
|
66 /* */
|
nuclear@0
|
67 /* <Input> */
|
nuclear@0
|
68 /* outline :: A pointer to the source outline. */
|
nuclear@0
|
69 /* */
|
nuclear@0
|
70 /* <Output> */
|
nuclear@0
|
71 /* abbox :: The outline's exact bounding box. */
|
nuclear@0
|
72 /* */
|
nuclear@0
|
73 /* <Return> */
|
nuclear@0
|
74 /* FreeType error code. 0~means success. */
|
nuclear@0
|
75 /* */
|
nuclear@0
|
76 FT_EXPORT( FT_Error )
|
nuclear@0
|
77 FT_Outline_Get_BBox( FT_Outline* outline,
|
nuclear@0
|
78 FT_BBox *abbox );
|
nuclear@0
|
79
|
nuclear@0
|
80
|
nuclear@0
|
81 /* */
|
nuclear@0
|
82
|
nuclear@0
|
83
|
nuclear@0
|
84 FT_END_HEADER
|
nuclear@0
|
85
|
nuclear@0
|
86 #endif /* __FTBBOX_H__ */
|
nuclear@0
|
87
|
nuclear@0
|
88
|
nuclear@0
|
89 /* END */
|
nuclear@0
|
90
|
nuclear@0
|
91
|
nuclear@0
|
92 /* Local Variables: */
|
nuclear@0
|
93 /* coding: utf-8 */
|
nuclear@0
|
94 /* End: */
|