[gtk/wip/matthiasc/lottie-stroke: 22/24] wip: Interactive join debugging




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]