diff options
author | Dominik Röttsches <drott@chromium.org> | 2021-07-26 18:28:56 +0300 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2021-07-29 06:12:51 +0000 |
commit | 30a82e1e5db9585ddde91c60a645cfb3356541e0 (patch) | |
tree | 8eb84434c50f755294961206b1e78fb7a193d3d8 | |
parent | 5c0ac7a4357cdb8f8e4cef4bb5b20aa54bfe8716 (diff) | |
download | freetype2-30a82e1e5db9585ddde91c60a645cfb3356541e0.tar.gz |
[sfnt] 'COLR' v1 PaintSweepGradient spec update
* src/sfnt/ttcolr.c (read_paint): PaintSweepGradient follows other
spec changes and now has the angles specified as F2DOT14, reflect
that in the implementation.
* include/freetype/ftcolor.h (FT_PaintSweepGradient): Update
documentation.
-rw-r--r-- | include/freetype/ftcolor.h | 14 | ||||
-rw-r--r-- | src/sfnt/ttcolr.c | 4 |
2 files changed, 10 insertions, 8 deletions
diff --git a/include/freetype/ftcolor.h b/include/freetype/ftcolor.h index 43e463e98..a4bd62a26 100644 --- a/include/freetype/ftcolor.h +++ b/include/freetype/ftcolor.h @@ -965,14 +965,16 @@ FT_BEGIN_HEADER * The center of the sweep gradient (in font units). * * start_angle :: - * The start angle of the sweep gradient, in 16.16 fixed point format - * specifying degrees. Values are given counter-clockwise, starting - * from the (positive) y~axis. + * The start angle of the sweep gradient, in 16.16 fixed point + * format specifying degrees divided by 180.0 (as in the + * spec). Multiply by 180.0f to receive degrees value. Values are + * given counter-clockwise, starting from the (positive) y~axis. * * end_angle :: - * The end angle of the sweep gradient, in 16.16 fixed point format - * specifying degrees. Values are given counter-clockwise, starting - * from the (positive) y~axis. + * The end angle of the sweep gradient, in 16.16 fixed point + * format specifying degrees divided by 180.0 (as in the + * spec). Multiply by 180.0f to receive degrees value. Values are + * given counter-clockwise, starting from the (positive) y~axis. * * @since: * 2.11 -- **currently experimental only!** There might be changes diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c index 3970a5dc5..601d88a55 100644 --- a/src/sfnt/ttcolr.c +++ b/src/sfnt/ttcolr.c @@ -531,8 +531,8 @@ apaint->u.sweep_gradient.center.x = FT_NEXT_SHORT( p ); apaint->u.sweep_gradient.center.y = FT_NEXT_SHORT( p ); - apaint->u.sweep_gradient.start_angle = FT_NEXT_LONG( p ); - apaint->u.sweep_gradient.end_angle = FT_NEXT_LONG( p ); + apaint->u.sweep_gradient.start_angle = FT_NEXT_SHORT( p ) << 2; + apaint->u.sweep_gradient.end_angle = FT_NEXT_SHORT( p ) << 2; return 1; } |