diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2019-09-25 21:50:16 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2019-09-25 21:50:16 -0400 |
commit | 432efa25b3476a6884426c0a30f6d6a624310e5d (patch) | |
tree | cd58730ea58dd2769ae860ebec9c7f25da260904 /include | |
parent | db4083fd7f19fd3fbd5d5a8e60d5c8e0f19778bd (diff) | |
download | freetype2-432efa25b3476a6884426c0a30f6d6a624310e5d.tar.gz |
* src/base/ftstroke.c (ft_stroker_outside): Speed up clipped miter.
* include/freetype/ftstroke.h: Wordsmith miter docs.
Diffstat (limited to 'include')
-rw-r--r-- | include/freetype/ftstroke.h | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/include/freetype/ftstroke.h b/include/freetype/ftstroke.h index 01a9c1811..282f6f6d2 100644 --- a/include/freetype/ftstroke.h +++ b/include/freetype/ftstroke.h @@ -114,22 +114,19 @@ FT_BEGIN_HEADER * FT_STROKER_LINEJOIN_MITER_FIXED :: * Used to render mitered line joins, with fixed bevels if the miter * limit is exceeded. The outer edges of the strokes for the two - * segments are extended until they meet at an angle. If the segments - * meet at too sharp an angle (such that the miter would extend from - * the intersection of the segments a distance greater than the product - * of the miter limit value and the border radius), then a bevel join - * (see above) is used instead. This prevents long spikes being - * created. `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line - * join as used in PostScript and PDF. + * segments are extended until they meet at an angle. A bevel join + * (see above) is used if the segments meet at too sharp an angle and + * the outer edges meet beyond a distance corresponding to the meter + * limit. This prevents long spikes being created. + * `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line join as + * used in PostScript and PDF. * * FT_STROKER_LINEJOIN_MITER_VARIABLE :: * FT_STROKER_LINEJOIN_MITER :: * Used to render mitered line joins, with variable bevels if the miter - * limit is exceeded. The intersection of the strokes is clipped at a - * line perpendicular to the bisector of the angle between the strokes, - * at the distance from the intersection of the segments equal to the - * product of the miter limit value and the border radius. This - * prevents long spikes being created. + * limit is exceeded. The intersection of the strokes is clipped + * perpendicularly to the bisector, at a distance corresponding to + * the miter limit. This prevents long spikes being created. * `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join * as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for * `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward @@ -296,13 +293,17 @@ FT_BEGIN_HEADER * The line join style. * * miter_limit :: - * The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and - * `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as - * 16.16 fixed-point value. + * The maximum reciprocal sine of half-angle at the miter join, + * expressed as 16.16 fixed point value. * * @note: * The radius is expressed in the same units as the outline coordinates. * + * The miter limit multiplied by the radius gives the maximum size + * of a miter spike, at which it is clipped for + * `FT_STROKER_LINEJOIN_MITER_VARIABLE` or replaced with a bevel join for + * `FT_STROKER_LINEJOIN_MITER_FIXED`. + * * This function calls @FT_Stroker_Rewind automatically. */ FT_EXPORT( void ) |