Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  ftbbox.h                                                               */
  4. /*                                                                         */
  5. /*    FreeType exact bbox computation (specification).                     */
  6. /*                                                                         */
  7. /*  Copyright 1996-2001, 2003, 2007 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. #ifdef FREETYPE_H
  38. #error "freetype.h of FreeType 1 has been loaded!"
  39. #error "Please fix the directory search order for header files"
  40. #error "so that freetype.h of FreeType 2 is found first."
  41. #endif
  42.  
  43.  
  44. FT_BEGIN_HEADER
  45.  
  46.  
  47.   /*************************************************************************/
  48.   /*                                                                       */
  49.   /* <Section>                                                             */
  50.   /*    outline_processing                                                 */
  51.   /*                                                                       */
  52.   /*************************************************************************/
  53.  
  54.  
  55.   /*************************************************************************/
  56.   /*                                                                       */
  57.   /* <Function>                                                            */
  58.   /*    FT_Outline_Get_BBox                                                */
  59.   /*                                                                       */
  60.   /* <Description>                                                         */
  61.   /*    Compute the exact bounding box of an outline.  This is slower      */
  62.   /*    than computing the control box.  However, it uses an advanced      */
  63.   /*    algorithm which returns _very_ quickly when the two boxes          */
  64.   /*    coincide.  Otherwise, the outline Bézier arcs are traversed to     */
  65.   /*    extract their extrema.                                             */
  66.   /*                                                                       */
  67.   /* <Input>                                                               */
  68.   /*    outline :: A pointer to the source outline.                        */
  69.   /*                                                                       */
  70.   /* <Output>                                                              */
  71.   /*    abbox   :: The outline's exact bounding box.                       */
  72.   /*                                                                       */
  73.   /* <Return>                                                              */
  74.   /*    FreeType error code.  0~means success.                             */
  75.   /*                                                                       */
  76.   FT_EXPORT( FT_Error )
  77.   FT_Outline_Get_BBox( FT_Outline*  outline,
  78.                        FT_BBox     *abbox );
  79.  
  80.  
  81.   /* */
  82.  
  83.  
  84. FT_END_HEADER
  85.  
  86. #endif /* __FTBBOX_H__ */
  87.  
  88.  
  89. /* END */
  90.  
  91.  
  92. /* Local Variables: */
  93. /* coding: utf-8    */
  94. /* End:             */
  95.