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

Side by Side Diff: third_party/freetype/include/ftstroke.h

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Clean Up 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 /* ftstroke.h */ 3 /* ftstroke.h */
4 /* */ 4 /* */
5 /* FreeType path stroker (specification). */ 5 /* FreeType path stroker (specification). */
6 /* */ 6 /* */
7 /* Copyright 2002-2006, 2008, 2009, 2011-2012 by */ 7 /* Copyright 2002-2006, 2008, 2009, 2011-2012, 2014 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 #ifndef __FT_STROKE_H__ 19 #ifndef __FT_STROKE_H__
20 #define __FT_STROKE_H__ 20 #define __FT_STROKE_H__
21 21
22 #include "../ft2build.h" 22 #include <ft2build.h>
23 #include "ftoutln.h" 23 #include FT_OUTLINE_H
24 #include "ftglyph.h" 24 #include FT_GLYPH_H
25 25
26 26
27 FT_BEGIN_HEADER 27 FT_BEGIN_HEADER
28 28
29 29
30 /************************************************************************ 30 /************************************************************************
31 * 31 *
32 * @section: 32 * @section:
33 * glyph_stroker 33 * glyph_stroker
34 * 34 *
35 * @title: 35 * @title:
36 * Glyph Stroker 36 * Glyph Stroker
37 * 37 *
38 * @abstract: 38 * @abstract:
39 * Generating bordered and stroked glyphs. 39 * Generating bordered and stroked glyphs.
40 * 40 *
41 * @description: 41 * @description:
42 * This component generates stroked outlines of a given vectorial 42 * This component generates stroked outlines of a given vectorial
43 * glyph. It also allows you to retrieve the `outside' and/or the 43 * glyph. It also allows you to retrieve the `outside' and/or the
44 * `inside' borders of the stroke. 44 * `inside' borders of the stroke.
45 * 45 *
46 * This can be useful to generate `bordered' glyph, i.e., glyphs 46 * This can be useful to generate `bordered' glyph, i.e., glyphs
47 * displayed with a coloured (and anti-aliased) border around their 47 * displayed with a coloured (and anti-aliased) border around their
48 * shape. 48 * shape.
49 *
50 * @order:
51 * FT_Stroker
52 *
53 * FT_Stroker_LineJoin
54 * FT_Stroker_LineCap
55 * FT_StrokerBorder
56 *
57 * FT_Outline_GetInsideBorder
58 * FT_Outline_GetOutsideBorder
59 *
60 * FT_Glyph_Stroke
61 * FT_Glyph_StrokeBorder
62 *
63 * FT_Stroker_New
64 * FT_Stroker_Set
65 * FT_Stroker_Rewind
66 * FT_Stroker_ParseOutline
67 * FT_Stroker_Done
68 *
69 * FT_Stroker_BeginSubPath
70 * FT_Stroker_EndSubPath
71 *
72 * FT_Stroker_LineTo
73 * FT_Stroker_ConicTo
74 * FT_Stroker_CubicTo
75 *
76 * FT_Stroker_GetBorderCounts
77 * FT_Stroker_ExportBorder
78 * FT_Stroker_GetCounts
79 * FT_Stroker_Export
80 *
49 */ 81 */
50 82
51 83
52 /************************************************************** 84 /**************************************************************
53 * 85 *
54 * @type: 86 * @type:
55 * FT_Stroker 87 * FT_Stroker
56 * 88 *
57 * @description: 89 * @description:
58 * Opaque handler to a path stroker object. 90 * Opaque handle to a path stroker object.
59 */ 91 */
60 typedef struct FT_StrokerRec_* FT_Stroker; 92 typedef struct FT_StrokerRec_* FT_Stroker;
61 93
62 94
63 /************************************************************** 95 /**************************************************************
64 * 96 *
65 * @enum: 97 * @enum:
66 * FT_Stroker_LineJoin 98 * FT_Stroker_LineJoin
67 * 99 *
68 * @description: 100 * @description:
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 * The line join style. 301 * The line join style.
270 * 302 *
271 * miter_limit :: 303 * miter_limit ::
272 * The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and 304 * The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and
273 * FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, 305 * FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles,
274 * expressed as 16.16 fixed-point value. 306 * expressed as 16.16 fixed-point value.
275 * 307 *
276 * @note: 308 * @note:
277 * The radius is expressed in the same units as the outline 309 * The radius is expressed in the same units as the outline
278 * coordinates. 310 * coordinates.
311 *
312 * This function calls @FT_Stroker_Rewind automatically.
279 */ 313 */
280 FT_EXPORT( void ) 314 FT_EXPORT( void )
281 FT_Stroker_Set( FT_Stroker stroker, 315 FT_Stroker_Set( FT_Stroker stroker,
282 FT_Fixed radius, 316 FT_Fixed radius,
283 FT_Stroker_LineCap line_cap, 317 FT_Stroker_LineCap line_cap,
284 FT_Stroker_LineJoin line_join, 318 FT_Stroker_LineJoin line_join,
285 FT_Fixed miter_limit ); 319 FT_Fixed miter_limit );
286 320
287 321
288 /************************************************************** 322 /**************************************************************
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 * 597 *
564 * outline :: 598 * outline ::
565 * The target outline handle. 599 * The target outline handle.
566 * 600 *
567 * @note: 601 * @note:
568 * Always call this function after @FT_Stroker_GetBorderCounts to 602 * Always call this function after @FT_Stroker_GetBorderCounts to
569 * get sure that there is enough room in your @FT_Outline object to 603 * get sure that there is enough room in your @FT_Outline object to
570 * receive all new data. 604 * receive all new data.
571 * 605 *
572 * When an outline, or a sub-path, is `closed', the stroker generates 606 * When an outline, or a sub-path, is `closed', the stroker generates
573 * two independent `border' outlines, named `left' and `right' 607 * two independent `border' outlines, named `left' and `right'.
574 * 608 *
575 * When the outline, or a sub-path, is `opened', the stroker merges 609 * When the outline, or a sub-path, is `opened', the stroker merges
576 * the `border' outlines with caps. The `left' border receives all 610 * the `border' outlines with caps. The `left' border receives all
577 * points, while the `right' border becomes empty. 611 * points, while the `right' border becomes empty.
578 * 612 *
579 * Use the function @FT_Stroker_Export instead if you want to 613 * Use the function @FT_Stroker_Export instead if you want to
580 * retrieve all borders at once. 614 * retrieve all borders at once.
581 */ 615 */
582 FT_EXPORT( void ) 616 FT_EXPORT( void )
583 FT_Stroker_ExportBorder( FT_Stroker stroker, 617 FT_Stroker_ExportBorder( FT_Stroker stroker,
584 FT_StrokerBorder border, 618 FT_StrokerBorder border,
585 FT_Outline* outline ); 619 FT_Outline* outline );
586 620
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 * depending on how large of a radius was used to stroke the glyph. You 763 * depending on how large of a radius was used to stroke the glyph. You
730 * may need to manually adjust horizontal and vertical advance amounts 764 * may need to manually adjust horizontal and vertical advance amounts
731 * to account for this added size. 765 * to account for this added size.
732 */ 766 */
733 FT_EXPORT( FT_Error ) 767 FT_EXPORT( FT_Error )
734 FT_Glyph_StrokeBorder( FT_Glyph *pglyph, 768 FT_Glyph_StrokeBorder( FT_Glyph *pglyph,
735 FT_Stroker stroker, 769 FT_Stroker stroker,
736 FT_Bool inside, 770 FT_Bool inside,
737 FT_Bool destroy ); 771 FT_Bool destroy );
738 772
739 /* */ 773 /* */
740 774
741 FT_END_HEADER 775 FT_END_HEADER
742 776
743 #endif /* __FT_STROKE_H__ */ 777 #endif /* __FT_STROKE_H__ */
744 778
745 779
746 /* END */ 780 /* END */
747 781
748 782
749 /* Local Variables: */ 783 /* Local Variables: */
750 /* coding: utf-8 */ 784 /* coding: utf-8 */
751 /* End: */ 785 /* End: */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698