diff options
| author | Matthias Clasen <mclasen@redhat.com> | 2020-12-23 13:36:19 -0500 |
|---|---|---|
| committer | Matthias Clasen <mclasen@redhat.com> | 2021-12-04 22:58:23 -0500 |
| commit | d08802a2c36bad053e0dd2d770e4eaffcac80cbe (patch) | |
| tree | 7346a0d14f4a633654e9c594e4d8bd3d0dd3e953 | |
| parent | 759bf152d341cd7cf9b820c639595c805f433e68 (diff) | |
| download | gtk+-d08802a2c36bad053e0dd2d770e4eaffcac80cbe.tar.gz | |
Add gsk_curve_get_normal
Its easy but thats no reason not to have this api.
| -rw-r--r-- | gsk/gskcurve.c | 13 | ||||
| -rw-r--r-- | gsk/gskcurveprivate.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gsk/gskcurve.c b/gsk/gskcurve.c index db997b10e1..0586a8a05b 100644 --- a/gsk/gskcurve.c +++ b/gsk/gskcurve.c @@ -430,6 +430,19 @@ gsk_curve_curve_get_tangent (const GskCurve *curve, graphene_vec2_normalize (tangent, tangent); } +void +gsk_curve_get_normal (const GskCurve *curve, + float t, + graphene_vec2_t *normal) +{ + graphene_vec2_t tangent; + + gsk_curve_get_tangent (curve, t, &tangent); + graphene_vec2_init (normal, + - graphene_vec2_get_y (&tangent), + graphene_vec2_get_x (&tangent)); +} + static void gsk_curve_curve_split (const GskCurve *curve, float progress, diff --git a/gsk/gskcurveprivate.h b/gsk/gskcurveprivate.h index 0f721e2016..3d454896c9 100644 --- a/gsk/gskcurveprivate.h +++ b/gsk/gskcurveprivate.h @@ -96,6 +96,9 @@ void gsk_curve_get_point (const GskCurve void gsk_curve_get_tangent (const GskCurve *curve, float progress, graphene_vec2_t *tangent); +void gsk_curve_get_normal (const GskCurve *curve, + float progress, + graphene_vec2_t *normal); void gsk_curve_split (const GskCurve *curve, float progress, GskCurve *start, |
