1 /***************************************************************************/ 2 /* */ 3 /* ftbbox.h */ 4 /* */ 5 /* FreeType exact bbox computation (specification). */ 6 /* */ 7 /* Copyright 1996-2001 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 34 #include <ft2build.h> 35 #include FT_FREETYPE_H 36 37 38 FT_BEGIN_HEADER 39 40 41 /*************************************************************************/ 42 /* */ 43 /* <Section> */ 44 /* outline_processing */ 45 /* */ 46 /*************************************************************************/ 47 48 49 /*************************************************************************/ 50 /* */ 51 /* <Function> */ 52 /* FT_Outline_Get_BBox */ 53 /* */ 54 /* <Description> */ 55 /* Computes the exact bounding box of an outline. This is slower */ 56 /* than computing the control box. However, it uses an advanced */ 57 /* algorithm which returns _very_ quickly when the two boxes */ 58 /* coincide. Otherwise, the outline Bezier arcs are walked over to */ 59 /* extract their extrema. */ 60 /* */ 61 /* <Input> */ 62 /* outline :: A pointer to the source outline. */ 63 /* */ 64 /* <Output> */ 65 /* abbox :: The outline's exact bounding box. */ 66 /* */ 67 /* <Return> */ 68 /* FreeType error code. 0 means success. */ 69 /* */ 70 FT_EXPORT( FT_Error ) 71 FT_Outline_Get_BBox( FT_Outline* outline, 72 FT_BBox *abbox ); 73 74 75 /* */ 76 77 78 FT_END_HEADER 79 80 #endif /* __FTBBOX_H__ */ 81 82 83 /* END */ 84