Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: third_party/freetype/include/internal/ftobjs.h

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Adjust GYP and GN Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /***************************************************************************/ 1 /***************************************************************************/
2 /* */ 2 /* */
3 /* ftobjs.h */ 3 /* ftobjs.h */
4 /* */ 4 /* */
5 /* The FreeType private base classes (specification). */ 5 /* The FreeType private base classes (specification). */
6 /* */ 6 /* */
7 /* Copyright 1996-2006, 2008, 2010, 2012-2013 by */ 7 /* Copyright 1996-2006, 2008, 2010, 2012-2013 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */ 9 /* */
10 /* This file is part of the FreeType project, and may only be used, */ 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 */ 11 /* modified, and distributed under the terms of the FreeType project */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */ 13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */ 14 /* understand and accept it fully. */
15 /* */ 15 /* */
16 /***************************************************************************/ 16 /***************************************************************************/
17 17
18 18
19 /*************************************************************************/ 19 /*************************************************************************/
20 /* */ 20 /* */
21 /* This file contains the definition of all internal FreeType classes. */ 21 /* This file contains the definition of all internal FreeType classes. */
22 /* */ 22 /* */
23 /*************************************************************************/ 23 /*************************************************************************/
24 24
25 25
26 #ifndef __FTOBJS_H__ 26 #ifndef __FTOBJS_H__
27 #define __FTOBJS_H__ 27 #define __FTOBJS_H__
28 28
29 #include "../../ft2build.h" 29 #include <ft2build.h>
30 #include "../ftrender.h" 30 #include FT_RENDER_H
31 #include "../ftsizes.h" 31 #include FT_SIZES_H
32 #include "../ftlcdfil.h" 32 #include FT_LCD_FILTER_H
33 #include "ftmemory.h" 33 #include FT_INTERNAL_MEMORY_H
34 #include "ftgloadr.h" 34 #include FT_INTERNAL_GLYPH_LOADER_H
35 #include "ftdriver.h" 35 #include FT_INTERNAL_DRIVER_H
36 #include "autohint.h" 36 #include FT_INTERNAL_AUTOHINT_H
37 #include "ftserv.h" 37 #include FT_INTERNAL_SERVICE_H
38 #include "ftpic.h" 38 #include FT_INTERNAL_PIC_H
39 39
40 #ifdef FT_CONFIG_OPTION_INCREMENTAL 40 #ifdef FT_CONFIG_OPTION_INCREMENTAL
41 #include "../ftincrem.h" 41 #include FT_INCREMENTAL_H
42 #endif 42 #endif
43 43
44 44
45 FT_BEGIN_HEADER 45 FT_BEGIN_HEADER
46 46
47 47
48 /*************************************************************************/ 48 /*************************************************************************/
49 /* */ 49 /* */
50 /* Some generic definitions. */ 50 /* Some generic definitions. */
51 /* */ 51 /* */
(...skipping 13 matching lines...) Expand all
65 /*************************************************************************/ 65 /*************************************************************************/
66 /* */ 66 /* */
67 /* The min and max functions missing in C. As usual, be careful not to */ 67 /* The min and max functions missing in C. As usual, be careful not to */
68 /* write things like FT_MIN( a++, b++ ) to avoid side effects. */ 68 /* write things like FT_MIN( a++, b++ ) to avoid side effects. */
69 /* */ 69 /* */
70 #define FT_MIN( a, b ) ( (a) < (b) ? (a) : (b) ) 70 #define FT_MIN( a, b ) ( (a) < (b) ? (a) : (b) )
71 #define FT_MAX( a, b ) ( (a) > (b) ? (a) : (b) ) 71 #define FT_MAX( a, b ) ( (a) > (b) ? (a) : (b) )
72 72
73 #define FT_ABS( a ) ( (a) < 0 ? -(a) : (a) ) 73 #define FT_ABS( a ) ( (a) < 0 ? -(a) : (a) )
74 74
75 /*
76 * Approximate sqrt(x*x+y*y) using the `alpha max plus beta min'
77 * algorithm. We use alpha = 1, beta = 3/8, giving us results with a
78 * largest error less than 7% compared to the exact value.
79 */
80 #define FT_HYPOT( x, y ) \
81 ( x = FT_ABS( x ), \
82 y = FT_ABS( y ), \
83 x > y ? x + ( 3 * y >> 3 ) \
84 : y + ( 3 * x >> 3 ) )
75 85
76 #define FT_PAD_FLOOR( x, n ) ( (x) & ~((n)-1) ) 86 #define FT_PAD_FLOOR( x, n ) ( (x) & ~((n)-1) )
77 #define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n ) 87 #define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n )
78 #define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n ) 88 #define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n )
79 89
80 #define FT_PIX_FLOOR( x ) ( (x) & ~63 ) 90 #define FT_PIX_FLOOR( x ) ( (x) & ~63 )
81 #define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 ) 91 #define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 )
82 #define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 ) 92 #define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 )
83 93
84 94
85 /* 95 /*
86 * Return the highest power of 2 that is <= value; this correspond to
87 * the highest bit in a given 32-bit value.
88 */
89 FT_BASE( FT_UInt32 )
90 ft_highpow2( FT_UInt32 value );
91
92
93 /*
94 * character classification functions -- since these are used to parse 96 * character classification functions -- since these are used to parse
95 * font files, we must not use those in <ctypes.h> which are 97 * font files, we must not use those in <ctypes.h> which are
96 * locale-dependent 98 * locale-dependent
97 */ 99 */
98 #define ft_isdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U ) 100 #define ft_isdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U )
99 101
100 #define ft_isxdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U || \ 102 #define ft_isxdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U || \
101 ( (unsigned)(x) - 'a' ) < 6U || \ 103 ( (unsigned)(x) - 'a' ) < 6U || \
102 ( (unsigned)(x) - 'A' ) < 6U ) 104 ( (unsigned)(x) - 'A' ) < 6U )
103 105
(...skipping 1456 matching lines...) Expand 10 before | Expand all | Expand 10 after
1560 1562
1561 #endif /* FT_CONFIG_OPTION_PIC */ 1563 #endif /* FT_CONFIG_OPTION_PIC */
1562 1564
1563 1565
1564 FT_END_HEADER 1566 FT_END_HEADER
1565 1567
1566 #endif /* __FTOBJS_H__ */ 1568 #endif /* __FTOBJS_H__ */
1567 1569
1568 1570
1569 /* END */ 1571 /* END */
OLDNEW
« no previous file with comments | « third_party/freetype/include/internal/ftmemory.h ('k') | third_party/freetype/include/internal/ftpic.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698