|
|
|||
Warning, file /include/freetype2/freetype/ftbbox.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /**************************************************************************** 0002 * 0003 * ftbbox.h 0004 * 0005 * FreeType exact bbox computation (specification). 0006 * 0007 * Copyright (C) 1996-2023 by 0008 * David Turner, Robert Wilhelm, and Werner Lemberg. 0009 * 0010 * This file is part of the FreeType project, and may only be used, 0011 * modified, and distributed under the terms of the FreeType project 0012 * license, LICENSE.TXT. By continuing to use, modify, or distribute 0013 * this file you indicate that you have read the license and 0014 * understand and accept it fully. 0015 * 0016 */ 0017 0018 0019 /************************************************************************** 0020 * 0021 * This component has a _single_ role: to compute exact outline bounding 0022 * boxes. 0023 * 0024 * It is separated from the rest of the engine for various technical 0025 * reasons. It may well be integrated in 'ftoutln' later. 0026 * 0027 */ 0028 0029 0030 #ifndef FTBBOX_H_ 0031 #define FTBBOX_H_ 0032 0033 0034 #include <freetype/freetype.h> 0035 0036 #ifdef FREETYPE_H 0037 #error "freetype.h of FreeType 1 has been loaded!" 0038 #error "Please fix the directory search order for header files" 0039 #error "so that freetype.h of FreeType 2 is found first." 0040 #endif 0041 0042 0043 FT_BEGIN_HEADER 0044 0045 0046 /************************************************************************** 0047 * 0048 * @section: 0049 * outline_processing 0050 * 0051 */ 0052 0053 0054 /************************************************************************** 0055 * 0056 * @function: 0057 * FT_Outline_Get_BBox 0058 * 0059 * @description: 0060 * Compute the exact bounding box of an outline. This is slower than 0061 * computing the control box. However, it uses an advanced algorithm 0062 * that returns _very_ quickly when the two boxes coincide. Otherwise, 0063 * the outline Bezier arcs are traversed to extract their extrema. 0064 * 0065 * @input: 0066 * outline :: 0067 * A pointer to the source outline. 0068 * 0069 * @output: 0070 * abbox :: 0071 * The outline's exact bounding box. 0072 * 0073 * @return: 0074 * FreeType error code. 0~means success. 0075 * 0076 * @note: 0077 * If the font is tricky and the glyph has been loaded with 0078 * @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get 0079 * reasonable values for the BBox it is necessary to load the glyph at a 0080 * large ppem value (so that the hinting instructions can properly shift 0081 * and scale the subglyphs), then extracting the BBox, which can be 0082 * eventually converted back to font units. 0083 */ 0084 FT_EXPORT( FT_Error ) 0085 FT_Outline_Get_BBox( FT_Outline* outline, 0086 FT_BBox *abbox ); 0087 0088 /* */ 0089 0090 0091 FT_END_HEADER 0092 0093 #endif /* FTBBOX_H_ */ 0094 0095 0096 /* END */ 0097 0098 0099 /* Local Variables: */ 0100 /* coding: utf-8 */ 0101 /* End: */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|