nuclear@0: /***************************************************************************/ nuclear@0: /* */ nuclear@0: /* ftbbox.h */ nuclear@0: /* */ nuclear@0: /* FreeType exact bbox computation (specification). */ nuclear@0: /* */ nuclear@0: /* Copyright 1996-2001, 2003, 2007 by */ nuclear@0: /* David Turner, Robert Wilhelm, and Werner Lemberg. */ nuclear@0: /* */ nuclear@0: /* This file is part of the FreeType project, and may only be used, */ nuclear@0: /* modified, and distributed under the terms of the FreeType project */ nuclear@0: /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ nuclear@0: /* this file you indicate that you have read the license and */ nuclear@0: /* understand and accept it fully. */ nuclear@0: /* */ nuclear@0: /***************************************************************************/ nuclear@0: nuclear@0: nuclear@0: /*************************************************************************/ nuclear@0: /* */ nuclear@0: /* This component has a _single_ role: to compute exact outline bounding */ nuclear@0: /* boxes. */ nuclear@0: /* */ nuclear@0: /* It is separated from the rest of the engine for various technical */ nuclear@0: /* reasons. It may well be integrated in `ftoutln' later. */ nuclear@0: /* */ nuclear@0: /*************************************************************************/ nuclear@0: nuclear@0: nuclear@0: #ifndef __FTBBOX_H__ nuclear@0: #define __FTBBOX_H__ nuclear@0: nuclear@0: nuclear@0: #include nuclear@0: #include FT_FREETYPE_H nuclear@0: nuclear@0: #ifdef FREETYPE_H nuclear@0: #error "freetype.h of FreeType 1 has been loaded!" nuclear@0: #error "Please fix the directory search order for header files" nuclear@0: #error "so that freetype.h of FreeType 2 is found first." nuclear@0: #endif nuclear@0: nuclear@0: nuclear@0: FT_BEGIN_HEADER nuclear@0: nuclear@0: nuclear@0: /*************************************************************************/ nuclear@0: /* */ nuclear@0: /*
*/ nuclear@0: /* outline_processing */ nuclear@0: /* */ nuclear@0: /*************************************************************************/ nuclear@0: nuclear@0: nuclear@0: /*************************************************************************/ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* FT_Outline_Get_BBox */ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* Compute the exact bounding box of an outline. This is slower */ nuclear@0: /* than computing the control box. However, it uses an advanced */ nuclear@0: /* algorithm which returns _very_ quickly when the two boxes */ nuclear@0: /* coincide. Otherwise, the outline Bézier arcs are traversed to */ nuclear@0: /* extract their extrema. */ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* outline :: A pointer to the source outline. */ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* abbox :: The outline's exact bounding box. */ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* FreeType error code. 0~means success. */ nuclear@0: /* */ nuclear@0: FT_EXPORT( FT_Error ) nuclear@0: FT_Outline_Get_BBox( FT_Outline* outline, nuclear@0: FT_BBox *abbox ); nuclear@0: nuclear@0: nuclear@0: /* */ nuclear@0: nuclear@0: nuclear@0: FT_END_HEADER nuclear@0: nuclear@0: #endif /* __FTBBOX_H__ */ nuclear@0: nuclear@0: nuclear@0: /* END */ nuclear@0: nuclear@0: nuclear@0: /* Local Variables: */ nuclear@0: /* coding: utf-8 */ nuclear@0: /* End: */