zenilib
0.5.3.0
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
ftbbox.h
Go to the documentation of this file.
1
/***************************************************************************/
2
/* */
3
/* ftbbox.h */
4
/* */
5
/* FreeType exact bbox computation (specification). */
6
/* */
7
/* Copyright 1996-2001, 2003, 2007, 2011 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
/* <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 */
80
/* at a large ppem value (so that the hinting instructions can */
81
/* properly shift and scale the subglyphs), then extracting the BBox */
82
/* which can be 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
92
FT_END_HEADER
93
94
#endif
/* __FTBBOX_H__ */
95
96
97
/* END */
98
99
100
/* Local Variables: */
101
/* coding: utf-8 */
102
/* End: */
FT_Outline_Get_BBox
FT_BEGIN_HEADER FT_Outline_Get_BBox(FT_Outline *outline, FT_BBox *abbox)
FT_Error
int FT_Error
Definition:
fttypes.h:296
FT_END_HEADER
#define FT_END_HEADER
Definition:
ftheader.h:54
FT_Outline_
Definition:
ftimage.h:383
abbox
FT_BBox * abbox
Definition:
ftbbox.c:576
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition:
ftheader.h:36
ft2build.h
FT_EXPORT
#define FT_EXPORT(x)
Definition:
ftconfig.h:500
FT_BBox_
Definition:
ftimage.h:116
zenilib
jni
external
freetype2
include
freetype
ftbbox.h
Generated on Thu Oct 3 2013 19:56:00 for zenilib by
1.8.5