[gtk/wip/matthiasc/lottie-stroke: 22/24] wip: Interactive join debugging
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/lottie-stroke: 22/24] wip: Interactive join debugging
- Date: Sun, 29 Nov 2020 18:57:12 +0000 (UTC)
commit 4b2fc231f175cea9feae9e6cab57f1995ed8d51a
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Nov 29 13:00:46 2020 -0500
wip: Interactive join debugging
tests/curve3.c | 49 ++++++++++++++++++-------------------------------
1 file changed, 18 insertions(+), 31 deletions(-)
---
diff --git a/tests/curve3.c b/tests/curve3.c
index b34590db22..ed1cdc8dfa 100644
--- a/tests/curve3.c
+++ b/tests/curve3.c
@@ -46,7 +46,7 @@ demo_widget_init (DemoWidget *self)
g_signal_connect (controller, "motion", G_CALLBACK (motion), self);
gtk_widget_add_controller (GTK_WIDGET (self), controller);
- self->stroke = gsk_stroke_new (20.f);
+ self->stroke = gsk_stroke_new (40.f);
}
static void
@@ -171,41 +171,16 @@ demo_widget_set_stroke (DemoWidget *self,
}
static void
-init_demo (DemoWidget *demo)
+init_demo (DemoWidget *demo, float squeeze)
{
GskPathBuilder *builder;
GskPath *path;
builder = gsk_path_builder_new ();
- gsk_path_builder_add_rect (builder, &GRAPHENE_RECT_INIT (100, 100, 100, 100));
- gsk_path_builder_move_to (builder, 300, 150);
- gsk_path_builder_curve_to (builder, 300, 50, 400, 50, 400, 150);
- gsk_path_builder_curve_to (builder, 400, 250, 500, 250, 500, 150);
-
-#if 0
- gsk_path_builder_move_to (builder, 50, 50);
- gsk_path_builder_line_to (builder, 100, 100);
- gsk_path_builder_line_to (builder, 150, 50);
- gsk_path_builder_line_to (builder, 200, 100);
- gsk_path_builder_line_to (builder, 250, 50);
-
-#elif 0
- gsk_path_builder_move_to (builder, 300, 300);
- gsk_path_builder_curve_to (builder, 300, 400, 400, 400, 400, 300);
- gsk_path_builder_curve_to (builder, 400, 200, 500, 200, 500, 300);
-
- gsk_path_builder_add_rect (builder, 100, 300, 100, 100);
-#elif 0
- gsk_path_builder_add_rect (builder, 100, 100, 300, 200);
-#elif 0
- gsk_path_builder_add_circle (builder, &GRAPHENE_POINT_INIT (200, 200), 100);
-#elif 0
gsk_path_builder_move_to (builder, 100, 100);
- gsk_path_builder_line_to (builder, 150, 150);
- gsk_path_builder_line_to (builder, 200, 100);
- gsk_path_builder_curve_to (builder, 250, 50, 300, 50, 350, 100);
-#endif
+ gsk_path_builder_curve_to (builder, 100, 200, 200, 200, 210, 100);
+ gsk_path_builder_curve_to (builder, 210+squeeze, 200, 310+squeeze, 200, 310+squeeze, 100);
path = gsk_path_builder_free_to_path (builder);
@@ -261,12 +236,19 @@ limit_changed (GtkSpinButton *spin,
gsk_stroke_free (stroke);
}
+static void
+squeeze_cb (GtkRange *range, DemoWidget *self)
+{
+ init_demo (self, gtk_range_get_value (range));
+}
+
int
main (int argc, char *argv[])
{
GtkWidget *window, *box, *demo;
GtkWidget *popover, *button, *grid;
GtkWidget *header, *combo;
+ GtkWidget *scale;
GtkWidget *spin;
gtk_init ();
@@ -301,8 +283,6 @@ main (int argc, char *argv[])
g_signal_connect (combo, "notify::selected", G_CALLBACK (fill_rule_changed), demo);
gtk_grid_attach (GTK_GRID (grid), combo, 1, 0, 1, 1);
- init_demo (DEMO_WIDGET (demo));
-
gtk_grid_attach (GTK_GRID (grid), gtk_label_new ("Line cap:"), 0, 1, 1, 1);
combo = gtk_drop_down_new_from_strings ((const char *[]){"Butt", "Round", "Square", NULL});
g_signal_connect (combo, "notify::selected", G_CALLBACK (cap_changed), demo);
@@ -319,6 +299,13 @@ main (int argc, char *argv[])
g_signal_connect (spin, "value-changed", G_CALLBACK (limit_changed), demo);
gtk_grid_attach (GTK_GRID (grid), spin, 1, 3, 1, 1);
+ scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0, 100, 1);
+ gtk_range_set_value (GTK_RANGE (scale), 50);
+ g_signal_connect (scale, "value-changed", G_CALLBACK (squeeze_cb), demo);
+ gtk_box_append (GTK_BOX (box), scale);
+
+ init_demo (DEMO_WIDGET (demo), 50);
+
gtk_window_present (GTK_WINDOW (window));
while (g_list_model_get_n_items (gtk_window_get_toplevels ()) > 0)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]