summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2019-09-25 21:50:16 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2019-09-25 21:50:16 -0400
commit432efa25b3476a6884426c0a30f6d6a624310e5d (patch)
treecd58730ea58dd2769ae860ebec9c7f25da260904 /include
parentdb4083fd7f19fd3fbd5d5a8e60d5c8e0f19778bd (diff)
downloadfreetype2-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.h31
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 )