Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
ftbbox.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * ftbbox.h
4 *
5 * FreeType exact bbox computation (specification).
6 *
7 * Copyright (C) 1996-2024 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 <freetype/freetype.h>
35
36#ifdef FREETYPE_H
37#error "freetype.h of FreeType 1 has been loaded!"
38#error "Please fix the directory search order for header files"
39#error "so that freetype.h of FreeType 2 is found first."
40#endif
41
42
44
45
46 /**************************************************************************
47 *
48 * @section:
49 * outline_processing
50 *
51 */
52
53
54 /**************************************************************************
55 *
56 * @function:
57 * FT_Outline_Get_BBox
58 *
59 * @description:
60 * Compute the exact bounding box of an outline. This is slower than
61 * computing the control box. However, it uses an advanced algorithm
62 * that returns _very_ quickly when the two boxes coincide. Otherwise,
63 * the outline Bezier arcs are traversed to extract their extrema.
64 *
65 * @input:
66 * outline ::
67 * A pointer to the source outline.
68 *
69 * @output:
70 * abbox ::
71 * The outline's exact bounding box.
72 *
73 * @return:
74 * FreeType error code. 0~means success.
75 *
76 * @note:
77 * If the font is tricky and the glyph has been loaded with
78 * @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get
79 * reasonable values for the BBox it is necessary to load the glyph at a
80 * large ppem value (so that the hinting instructions can properly shift
81 * and scale the subglyphs), then extracting the BBox, which can be
82 * eventually converted back to font units.
83 */
86 FT_BBox *abbox );
87
88 /* */
89
90
92
93#endif /* FTBBOX_H_ */
94
95
96/* END */
97
98
99/* Local Variables: */
100/* coding: utf-8 */
101/* End: */
FT_BEGIN_HEADER FT_Outline_Get_BBox(FT_Outline *outline, FT_BBox *abbox)
#define FT_END_HEADER
Definition ftheader.h:57
#define FT_BEGIN_HEADER
Definition ftheader.h:37
int FT_Error
Definition fttypes.h:302
#define FT_EXPORT(x)