ReactOS
0.4.16-dev-2357-g35d0dfe
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-2020 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
43
FT_BEGIN_HEADER
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
*/
84
FT_EXPORT
(
FT_Error
)
85
FT_Outline_Get_BBox
(
FT_Outline
*
outline
,
86
FT_BBox
*
abbox
);
87
88
/* */
89
90
91
FT_END_HEADER
92
93
#endif
/* FTBBOX_H_ */
94
95
96
/* END */
97
98
99
/* Local Variables: */
100
/* coding: utf-8 */
101
/* End: */
freetype.h
abbox
FT_BBox * abbox
Definition:
ftbbox.c:464
FT_Outline_Get_BBox
FT_BEGIN_HEADER FT_Outline_Get_BBox(FT_Outline *outline, FT_BBox *abbox)
FT_END_HEADER
#define FT_END_HEADER
Definition:
ftheader.h:57
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition:
ftheader.h:37
FT_Error
int FT_Error
Definition:
fttypes.h:299
FT_EXPORT
#define FT_EXPORT(x)
Definition:
public-macros.h:104
FT_BBox_
Definition:
ftimage.h:119
FT_Outline_
Definition:
ftimage.h:337
outline
Definition:
mesh.c:5330
sdk
lib
3rdparty
freetype
include
freetype
ftbbox.h
Generated on Tue Mar 10 2026 06:14:56 for ReactOS by
1.9.6