From a1d40c523617f653cd0b58f7561701c7f983993b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 14 Aug 2023 13:39:16 -0400 Subject: [PATCH 1/3] Add gsk_path_point_get_rotation This returns the tangent in the form of an angle. --- gsk/gskpathpoint.c | 42 ++++++++++++++++++++++++++++++++++++++++++ gsk/gskpathpoint.h | 5 +++++ 2 files changed, 47 insertions(+) diff --git a/gsk/gskpathpoint.c b/gsk/gskpathpoint.c index a55e879b18..d1835743a1 100644 --- a/gsk/gskpathpoint.c +++ b/gsk/gskpathpoint.c @@ -19,12 +19,16 @@ #include "config.h" +#include + #include "gskpathpointprivate.h" #include "gskcontourprivate.h" #include "gdk/gdkprivate.h" +#define RAD_TO_DEG(x) ((x) / (G_PI / 180.f)) + /** * GskPathPoint: * @@ -181,6 +185,10 @@ gsk_path_point_get_position (const GskPathPoint *point, * point, and the direction coming out of it. The @direction * argument lets you choose which one to get. * + * If you want to orient something in the direction of the + * path, [method@Gsk.PathPoint.get_rotation] may be more + * convenient to use. + * * Since: 4.14 */ void @@ -201,6 +209,40 @@ gsk_path_point_get_tangent (const GskPathPoint *point, gsk_contour_get_tangent (contour, self, direction, tangent); } +/** + * gsk_path_point_get_rotation: + * @point: a `GskPathPoint` + * @path: the path that @point is on + * @direction: the direction for which to return the rotation + * + * Gets the direction of the tangent at a given point. + * + * This is a convenience variant of [method@Gsk.PathPoint.get_tangent] + * that returns the angle between the tangent and the X axis. The angle + * can e.g. be used in [method@Gtk.Snapshot.rotate]. + * + * Returns: the angle between the tangent and the X axis, in degrees + * + * Since: 4.14 + */ +float +gsk_path_point_get_rotation (const GskPathPoint *point, + GskPath *path, + GskPathDirection direction) +{ + GskRealPathPoint *self = (GskRealPathPoint *) point; + graphene_vec2_t tangent; + + g_return_val_if_fail (self != NULL, 0); + g_return_val_if_fail (path != NULL, 0); + g_return_val_if_fail (self->contour < gsk_path_get_n_contours (path), 0); + + gsk_path_point_get_tangent (point, path, direction, &tangent); + + return RAD_TO_DEG (atan2f (graphene_vec2_get_y (&tangent), + graphene_vec2_get_x (&tangent))); +} + /** * gsk_path_point_get_curvature: * @point: a `GskPathPoint` diff --git a/gsk/gskpathpoint.h b/gsk/gskpathpoint.h index 4fdacc797e..56d65cb641 100644 --- a/gsk/gskpathpoint.h +++ b/gsk/gskpathpoint.h @@ -67,6 +67,11 @@ void gsk_path_point_get_tangent (const GskPathPoint *poin GskPathDirection direction, graphene_vec2_t *tangent); +GDK_AVAILABLE_IN_4_14 +float gsk_path_point_get_rotation (const GskPathPoint *point, + GskPath *path, + GskPathDirection direction); + GDK_AVAILABLE_IN_4_14 float gsk_path_point_get_curvature (const GskPathPoint *point, GskPath *path, From a85ab3585e2c078e63490c004dce1eb9c65fe7a4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 14 Aug 2023 14:49:26 -0400 Subject: [PATCH 2/3] Revise gsk_path_point_get_tangent Update the directions enum to allow all four tangents to be obtained. Add an illustration to the docs for clarity. Update all callers. --- docs/reference/gsk/gsk4.toml.in | 2 + docs/reference/gsk/images/directions-dark.png | Bin 0 -> 51215 bytes .../reference/gsk/images/directions-light.png | Bin 0 -> 52142 bytes docs/reference/gsk/images/directions.svg | 327 ++++++++++++++++++ gsk/gskcontour.c | 9 +- gsk/gskenums.h | 23 +- testsuite/gsk/path-special-cases.c | 4 +- 7 files changed, 356 insertions(+), 9 deletions(-) create mode 100644 docs/reference/gsk/images/directions-dark.png create mode 100644 docs/reference/gsk/images/directions-light.png create mode 100644 docs/reference/gsk/images/directions.svg diff --git a/docs/reference/gsk/gsk4.toml.in b/docs/reference/gsk/gsk4.toml.in index e451183ba8..813f974c4c 100644 --- a/docs/reference/gsk/gsk4.toml.in +++ b/docs/reference/gsk/gsk4.toml.in @@ -36,6 +36,8 @@ content_images = [ "gtk-logo.svg", "images/caps-dark.png", "images/caps-light.png", + "images/directions-dark.png", + "images/directions-light.png", "images/join-dark.png", "images/join-light.png", "images/path-dark.png", diff --git a/docs/reference/gsk/images/directions-dark.png b/docs/reference/gsk/images/directions-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..77505ee4625260bcfa9f47fcff353d9003dc7a4d GIT binary patch literal 51215 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 AVE_OC literal 0 HcmV?d00001 diff --git a/docs/reference/gsk/images/directions-light.png b/docs/reference/gsk/images/directions-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c61840a84f9925c19205e9e66216c9654b7f3432 GIT binary patch literal 52142 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 jA%HrzeXZb@*?*$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GSK_PATH_FROM_START + GSK_PATH_FROM_START + GSK_PATH_TO_START + GSK_PATH_TO_START + GSK_PATH_TO_END + GSK_PATH_TO_END + GSK_PATH_FROM_END + GSK_PATH_FROM_END + + + + diff --git a/gsk/gskcontour.c b/gsk/gskcontour.c index f708e242f6..d76327847a 100644 --- a/gsk/gskcontour.c +++ b/gsk/gskcontour.c @@ -509,7 +509,8 @@ gsk_standard_contour_get_tangent (const GskContour *contour, idx = point->idx; t = point->t; - if (t == 0 && direction == GSK_PATH_START) + if (t == 0 && (direction == GSK_PATH_FROM_START || + direction == GSK_PATH_TO_START)) { /* Look at the previous segment */ if (idx > 1) @@ -523,7 +524,8 @@ gsk_standard_contour_get_tangent (const GskContour *contour, t = 1; } } - else if (t == 1 && direction == GSK_PATH_END) + else if (t == 1 && (direction == GSK_PATH_TO_END || + direction == GSK_PATH_FROM_END)) { /* Look at the next segment */ if (idx < self->n_ops - 1) @@ -540,6 +542,9 @@ gsk_standard_contour_get_tangent (const GskContour *contour, gsk_curve_init (&curve, self->ops[idx]); gsk_curve_get_tangent (&curve, t, tangent); + + if (direction == GSK_PATH_TO_START || direction == GSK_PATH_FROM_END) + graphene_vec2_negate (tangent, tangent); } static float diff --git a/gsk/gskenums.h b/gsk/gskenums.h index 9ed0ee077e..fe157ab80b 100644 --- a/gsk/gskenums.h +++ b/gsk/gskenums.h @@ -292,17 +292,30 @@ typedef enum { /** * GskPathDirection: - * @GSK_PATH_START: The side that leads to the start of the path - * @GSK_PATH_END: The side that leads to the end of the path + * @GSK_PATH_FROM_START: The tangent in path direction of the incoming side + * of the path + * @GSK_PATH_TO_START: The tangent against path direction of the incoming side + * of the path + * @GSK_PATH_TO_END: The tangent in path direction of the outgoing side + * of the path + * @GSK_PATH_FROM_END: The tangent against path direction of the outgoing + * side of the path * * The values of the `GskPathDirection` enum are used to pick one - * of the two sides of the path that at a given point on the path. + * of the four tangents at a given point on the path. + * + * + * + * Path Tangents + * * * Since: 4.14 */ typedef enum { - GSK_PATH_START, - GSK_PATH_END + GSK_PATH_FROM_START, + GSK_PATH_TO_START, + GSK_PATH_TO_END, + GSK_PATH_FROM_END, } GskPathDirection; /** diff --git a/testsuite/gsk/path-special-cases.c b/testsuite/gsk/path-special-cases.c index bc83ba9249..927bc578d7 100644 --- a/testsuite/gsk/path-special-cases.c +++ b/testsuite/gsk/path-special-cases.c @@ -466,8 +466,8 @@ test_path_point (void) g_assert_true (rp->t == 1); gsk_path_point_get_position (&point, path, &pos); - gsk_path_point_get_tangent (&point, path, GSK_PATH_START, &t1); - gsk_path_point_get_tangent (&point, path, GSK_PATH_END, &t2); + gsk_path_point_get_tangent (&point, path, GSK_PATH_TO_START, &t1); + gsk_path_point_get_tangent (&point, path, GSK_PATH_TO_END, &t2); curvature = gsk_path_point_get_curvature (&point, path, ¢er); g_assert_true (graphene_point_equal (&pos, &GRAPHENE_POINT_INIT (100, 100))); From b5e105d4f4015fe528fbc2bd93ab4377821e2f67 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 14 Aug 2023 07:55:20 -0400 Subject: [PATCH 3/3] snapshot: Add more path api Add convenience methods to fill or stroke a path with a color. --- gtk/gtksnapshot.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtksnapshot.h | 10 ++++++++ 2 files changed, 74 insertions(+) diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c index f55a1b62d6..d838568836 100644 --- a/gtk/gtksnapshot.c +++ b/gtk/gtksnapshot.c @@ -1151,6 +1151,9 @@ gtk_snapshot_clear_fill (GtkSnapshotState *state) * * The image is recorded until the next call to [method@Gtk.Snapshot.pop]. * + * If you want to fill the path with a color, [method@Gtk.Snapshot.append_fill] + * may be more convenient. + * * Since: 4.14 */ void @@ -1171,6 +1174,35 @@ gtk_snapshot_push_fill (GtkSnapshot *snapshot, state->data.fill.fill_rule = fill_rule; } +/** + * gtk_snapshot_append_fill: + * @snapshot: a `GtkSnapshot` + * @path: The path describing the area to fill + * @fill_rule: The fill rule to use + * @color: the color to fill the path with + * + * A convenience method to fill a path with a color. + * + * See [method@Gtk.Snapshot.push_fill] if you need + * to fill a path with more complex content than + * a color. + * + * Since: 4.14 + */ +void +gtk_snapshot_append_fill (GtkSnapshot *snapshot, + GskPath *path, + GskFillRule fill_rule, + const GdkRGBA *color) +{ + graphene_rect_t bounds; + + gsk_path_get_bounds (path, &bounds); + gtk_snapshot_push_fill (snapshot, path, fill_rule); + gtk_snapshot_append_color (snapshot, color, &bounds); + gtk_snapshot_pop (snapshot); +} + static GskRenderNode * gtk_snapshot_collect_stroke (GtkSnapshot *snapshot, GtkSnapshotState *state, @@ -1222,6 +1254,9 @@ gtk_snapshot_clear_stroke (GtkSnapshotState *state) * everything else, so uneven scaling will cause horizontal and vertical * strokes to have different widths. * + * If you want to stroke the path with a color, [method@Gtk.Snapshot.append_stroke] + * may be more convenient. + * * Since: 4.14 */ void @@ -1265,6 +1300,35 @@ gtk_snapshot_collect_shadow (GtkSnapshot *snapshot, return shadow_node; } +/** + * gtk_snapshot_append_stroke: + * @snapshot: a `GtkSnapshot` + * @path: The path describing the area to fill + * @stroke: The stroke attributes + * @color: the color to fill the path with + * + * A convenience method to stroke a path with a color. + * + * See [method@Gtk.Snapshot.push_stroke] if you need + * to stroke a path with more complex content than + * a color. + * + * Since: 4.14 + */ +void +gtk_snapshot_append_stroke (GtkSnapshot *snapshot, + GskPath *path, + const GskStroke *stroke, + const GdkRGBA *color) +{ + graphene_rect_t bounds; + + gsk_path_get_stroke_bounds (path, stroke, &bounds); + gtk_snapshot_push_stroke (snapshot, path, stroke); + gtk_snapshot_append_color (snapshot, color, &bounds); + gtk_snapshot_pop (snapshot); +} + static void gtk_snapshot_clear_shadow (GtkSnapshotState *state) { diff --git a/gtk/gtksnapshot.h b/gtk/gtksnapshot.h index faa40b732d..d3d25e8c67 100644 --- a/gtk/gtksnapshot.h +++ b/gtk/gtksnapshot.h @@ -240,6 +240,16 @@ void gtk_snapshot_append_layout (GtkSnapshot PangoLayout *layout, const GdkRGBA *color); +GDK_AVAILABLE_IN_4_14 +void gtk_snapshot_append_fill (GtkSnapshot *snapshot, + GskPath *path, + GskFillRule fill_rule, + const GdkRGBA *color); +GDK_AVAILABLE_IN_4_14 +void gtk_snapshot_append_stroke (GtkSnapshot *snapshot, + GskPath *path, + const GskStroke *stroke, + const GdkRGBA *color); G_END_DECLS