:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / include / freetype / ftbbox.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftbbox.h                                                               */
4 /*                                                                         */
5 /*    FreeType bbox computation (specification).                           */
6 /*                                                                         */
7 /*  Copyright 1996-2000 by                                                 */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
10 /*  This file is part of the FreeType project, and may only be used,       */
11 /*  modified, and distributed under the terms of the FreeType project      */
12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13 /*  this file you indicate that you have read the license and              */
14 /*  understand and accept it fully.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17
18
19   /*************************************************************************/
20   /*                                                                       */
21   /* This component has a _single_ role: to compute exact outline bounding */
22   /* boxes.                                                                */
23   /*                                                                       */
24   /* It is separated from the rest of the engine for various technical     */
25   /* reasons.  It may well be integrated in `ftoutln' later.               */
26   /*                                                                       */
27   /*************************************************************************/
28
29
30 #ifndef FTBBOX_H
31 #define FTBBOX_H
32
33 #include <freetype/freetype.h>
34
35 #ifdef __cplusplus
36   extern "C" {
37 #endif
38
39
40   /*************************************************************************/
41   /*                                                                       */
42   /* <Function>                                                            */
43   /*    FT_Raster_GetBBox                                                  */
44   /*                                                                       */
45   /* <Description>                                                         */
46   /*    Computes the exact bounding box of an outline.  This is slower     */
47   /*    than computing the control box.  However, it uses an advanced      */
48   /*    algorithm which returns _very_ quickly when the two boxes          */
49   /*    coincide.  Otherwise, the outline Bezier arcs are walked over to   */
50   /*    extract their extrema.                                             */
51   /*                                                                       */
52   /* <Input>                                                               */
53   /*    outline :: A pointer to the source outline.                        */
54   /*                                                                       */
55   /* <Output>                                                              */
56   /*    bbox    :: The outline's exact bounding box.                       */
57   /*                                                                       */
58   /* <Return>                                                              */
59   /*    Error code.  0 means success.                                      */
60   /*                                                                       */
61   FT_EXPORT_DEF(FT_Error)  FT_Raster_GetBBox( FT_Outline*  outline,
62                                               FT_BBox*     abbox );
63
64
65 #ifdef __cplusplus
66   }
67 #endif
68
69 #endif /* FTBBOX_H */
70
71
72 /* END */