gegl r2800 - in trunk: . bin examples



Author: ok
Date: Mon Nov 24 00:55:13 2008
New Revision: 2800
URL: http://svn.gnome.org/viewvc/gegl?rev=2800&view=rev

Log:
Updated code to refer to new gegl:path op.
* bin/editor.c: (add_path), (spiro_open), (spiro_close),
(nodes_press_event), (nodes_expose), (gui_keybinding),
(stroke_press_event), (editor_set_active), (create_window):
* bin/gegl.c:
* examples/gegl-paint.c: (paint_press): 


Modified:
   trunk/ChangeLog
   trunk/bin/editor.c
   trunk/bin/gegl.c
   trunk/examples/gegl-paint.c

Modified: trunk/bin/editor.c
==============================================================================
--- trunk/bin/editor.c	(original)
+++ trunk/bin/editor.c	Mon Nov 24 00:55:13 2008
@@ -309,16 +309,16 @@
         }
 
       gegl_add_sibling ("gegl:over");
-      stroke = gegl_add_child ("gegl:stroke");
+      stroke = gegl_add_child ("gegl:path");
 
       {
         GeglColor *color2;
         gdouble    linewidth;
         gfloat r,g,b,a;
     
-        if (self && g_str_equal (gegl_node_get_operation (self), "gegl:stroke"))
+        if (self && g_str_equal (gegl_node_get_operation (self), "gegl:path"))
           {
-            gegl_node_get (self, "color", &color2, "linewidth", &linewidth, NULL);
+            gegl_node_get (self, "stroke", &color2, "stroke-width", &linewidth, NULL);
             gegl_color_get_rgba (color2, &r, &g, &b, &a);
             gegl_color_set_rgba (color, r,g,b,a);
           }
@@ -327,7 +327,7 @@
             linewidth = 10;
           }
 
-        gegl_node_set (stroke, "path", tools.path=gegl_path_new (), "color", color, "linewidth", linewidth, NULL);
+        gegl_node_set (stroke, "d", tools.path=gegl_path_new (), "stroke", color, "stroke-width", linewidth, NULL);
         tools.node = stroke;
         tools.selected_no = 0;
         tools.drag_no = -1;  /* to start dragging at the end? of the path,
@@ -364,6 +364,20 @@
 }
 
 
+static gint spiro_open (gint argc, gchar **argv)
+{
+  GeglPathItem knot = *gegl_path_get (tools.path, -1);
+  if (knot.type == 'z')
+    {
+      gegl_path_remove (tools.path, -1);
+      g_print ("opened path\n");
+      return 0;
+    }
+  g_print ("already open\n");
+
+  return 0;
+}
+
 static gint spiro_close (gint argc, gchar **argv)
 {
   GeglPathItem knot = *gegl_path_get (tools.path, -1);
@@ -376,9 +390,9 @@
   g_print ("closed spiro\n");
 
   {
-    GeglColor *color= gegl_color_new ("green");
+    /*GeglColor *color= gegl_color_new ("green");
     gegl_node_set (tools.node, "fill", color, "linewidth", 0.0, NULL);
-    g_object_unref (color);
+    g_object_unref (color);*/
   }
 
   return 0;
@@ -836,7 +850,7 @@
 
           if (detected)
             {
-              if (g_str_equal (gegl_node_get_operation (detected), "gegl:stroke"))
+              if (g_str_equal (gegl_node_get_operation (detected), "gegl:path"))
                 {
                   select_node (detected);
                   goto done;
@@ -1077,7 +1091,6 @@
 
   if (!tools.node || !tools.path)
     {
-      g_print ("press the canvas\n");
       return FALSE;
     }
 
@@ -1566,11 +1579,12 @@
         switch (event->keyval)
           {
             case GDK_i: do_command ("insert-node"); return TRUE;
-            case GDK_BackSpace: do_command ("remove-node"); return TRUE;
             case GDK_s: do_command ("spiro-mode-change"); return TRUE;
 
+            case GDK_m: do_command ("spiro-open"); return TRUE;
+
             case GDK_x: do_command ("remove-node"); return TRUE;
-            case GDK_c: do_command ("spiro-mode O"); return TRUE;
+            case GDK_o: do_command ("spiro-mode O"); return TRUE;
             case GDK_v: do_command ("spiro-mode v"); return TRUE;
             default:
               return FALSE;
@@ -1948,16 +1962,16 @@
     }
 
   gegl_add_sibling ("gegl:over");
-  stroke = gegl_add_child ("gegl:stroke");
+  stroke = gegl_add_child ("gegl:path");
 
     {
       GeglColor *color2;
       gdouble    linewidth;
       gfloat r,g,b,a;
   
-      if (g_str_equal (gegl_node_get_operation (self), "gegl:stroke"))
+      if (g_str_equal (gegl_node_get_operation (self), "gegl:path"))
         {
-          gegl_node_get (self, "color", &color2, "linewidth", &linewidth, NULL);
+          gegl_node_get (self, "stroke", &color2, "stroke-width", &linewidth, NULL);
           gegl_color_get_rgba (color2, &r, &g, &b, &a);
           gegl_color_set_rgba (color, r,g,b,a);
         }
@@ -1966,7 +1980,7 @@
           linewidth = 20;
         }
 
-      gegl_node_set (stroke, "path", tools.path=gegl_path_new (), "color", color, "linewidth", linewidth, NULL);
+      gegl_node_set (stroke, "d", tools.path=gegl_path_new (), "stroke", color, "stroke-width", linewidth, NULL);
       tools.node = stroke;
     }
     }
@@ -2369,25 +2383,16 @@
   opname = gegl_node_get_operation (node);
   tools.node = node;
 
-  if (g_str_equal (opname, "gegl:fill"))
+  if (g_str_equal (opname, "gegl:path"))
     {
       GeglPath *vector;
-      gegl_node_get (node, "path", &vector, NULL);
+      gegl_node_get (node, "d", &vector, NULL);
 
       tools.path = vector;
 
       if (vector)
         g_object_unref (vector);
     }
-   else if(g_str_equal (opname, "gegl:stroke"))
-    {
-      GeglPath *vector;
-      gegl_node_get (node, "path", &vector, NULL);
-
-      tools.path = vector;
-      if (vector)
-        g_object_unref (vector);
-    }
   else
     {
       tools.path = NULL;
@@ -2420,7 +2425,7 @@
   vbox2 = gtk_vbox_new (FALSE, 1);
   hpaned_top = gtk_vpaned_new ();
   hpaned_top_level = gtk_hpaned_new ();
-  view = g_object_new (GEGL_TYPE_VIEW, "block", TRUE, NULL);
+  view = g_object_new (GEGL_TYPE_VIEW, NULL, "block", TRUE, NULL);
   property_scroll = gtk_scrolled_window_new (NULL, NULL);
   gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (property_scroll), editor->property_editor);
   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (property_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

Modified: trunk/bin/gegl.c
==============================================================================
--- trunk/bin/gegl.c	(original)
+++ trunk/bin/gegl.c	Mon Nov 24 00:55:13 2008
@@ -49,7 +49,7 @@
 #endif
 
 #define DEFAULT_COMPOSITION \
-" <?xml version='1.0' encoding='UTF-8'?> <gegl> <node operation='gegl:crop'> <params> <param name='x'>0</param> <param name='y'>0</param> <param name='width'>690</param> <param name='height'>670</param> </params> </node> <node operation='gegl:over'> <node operation='gegl:stroke'> <params> <param name='path'></param> <param name='color'>rgba(0.1000, 0.2000, 0.4000, 0.4000)</param> <param name='linewidth'>12</param> <param name='opacity'>1</param> <param name='hardness'>0</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>14</param> <param name='y'>613</param> </params> </node> <node operation='gegl:opacity'> <params> <param name='value'>0.59999999999999998</param> </params> </node> <node name='text' operation='gegl:text'> <params> <param name='string'>2000-2008 Â Calvin Williamson, Caroline Dahloff, Manish Singh, Jay Cox, Daniel Rogers, Sven Neumann, Michael Natterer,  Ãyvind KolÃs, Philip Lafleur, Dominik 
 Ernst, Richard Kralovic, Kevin Cozens, Victor Bogado, Martin Nordholts, Geert Jordaens, Michael Schumacher, John Marshall, Ãtienne Bersac, Mark Probst, HÃkon Hitland, Tor Lillqvist, Hans Breuer, Deji Akingunola, Bradley Broom, Hans Petter Jansson, Jan Heller, dmacks netspace org, Sven Anders, Hubert FiguiÃre, Sam Hocevar, yahvuu at gmail.com, Nicolas Robidoux, Garry R. Osgood, Shlomi Fish, Jakub Steiner and Tonda Tavalec</param> <param name='font'>Sans</param> <param name='size'>8</param> <param name='color'>rgb(0.0000, 0.0000, 0.0000)</param> <param name='wrap'>628</param> <param name='alignment'>0</param> <param name='width'>622</param> <param name='height'>40</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>300</param> <param name='y'>500</param> </params> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>0</param> <param name='y'>0</param> </params> </node> <
 node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:fill'> <params> <param name='path'>M0,50 C0,78 24,100 50,100 C77,100 100,78 100,50 C100,45 99,40 98,35 C82,35 66,35 50,35 C42,35 35,42 35,50 C35,58 42,65 50,65 C56,65 61,61 64,56 C67,51 75,55 73,60 C69,69 60,75 50,75 C36,75 25,64 25,50 C25,36 36,25 50,25 L93,25 C83,9 67,0 49,0 C25,0 0,20 0,50 z</param> <param name='color'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>88</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:fill'> <params> <param name='path'>M50,0 C23,0 0,22 0,50 C0,77 
 22,100 50,100 C68,100 85,90 93,75 L40,75 C35,75 35,65 40,65 L98,65 C100,55 100,45 98,35 L40,35 C35,35 35,25 40,25 L93,25 C84,10 68,0 50,0 z</param> <param name='color'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>176</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:fill'> <params> <param name='path'>M0,50 C0,78 24,100 50,100 C77,100 100,78 100,50 C100,45 99,40 98,35 C82,35 66,35 50,35 C42,35 35,42 35,50 C35,58 42,65 50,65 C56,65 61,61 64,56 C67,51 75,55 73,60 C69,69 60,75 50,75 C36,75 25,64 25,50 C25,36 36,25 50,25 L93,25 C83,9 67,0 49,0 C25,0 0,20 0,50 z</param> <param name='color'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:shift'> <p
 arams> <param name='x'>264</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:fill'> <params> <param name='path'>M30,4 C12,13 0,30 0,50 C0,78 23,100 50,100 C71,100 88,88 96,71 L56,71 C42,71 30,59 30,45 L30,4 z</param> <param name='color'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:rotate'> <params> <param name='origin-x'>0</param> <param name='origin-y'>0</param> <param name='filter'>linear</param> <param name='hard-edges'>false</param> <param name='lanczos-width'>3</param> <param name='degrees'>42</param> </params> </node> <node operation='gegl:checkerboard'> <params> <param name='x'>43</param> <param name='y'>44</param> <param name='x-offset'>0</param> <param name='y-offset'>0</param> <param name='color1'>rgb(0.7097, 0.7097, 0.7097)</p
 aram> <param name='color2'>rgb(0.7661, 0.7661, 0.7661)</param> </params> </node> </gegl>"
+"<?xml version='1.0' encoding='UTF-8'?> <gegl> <node operation='gegl:crop'> <params> <param name='x'>0</param> <param name='y'>0</param> <param name='width'>690</param> <param name='height'>670</param> </params> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>14</param> <param name='y'>613</param> </params> </node> <node operation='gegl:opacity'> <params> <param name='value'>0.59999999999999998</param> </params> </node> <node name='text' operation='gegl:text'> <params> <param name='string'>2000-2008 ? Calvin Williamson, Caroline Dahloff, Manish Singh, Jay Cox, Daniel Rogers, Sven Neumann, Michael Natterer,  ?yvind Kol?s, Philip Lafleur, Dominik Ernst, Richard Kralovic, Kevin Cozens, Victor Bogado, Martin Nordholts, Geert Jordaens, Michael Schumacher, John Marshall, ?tienne Bersac, Mark Probst, H?kon Hitland, Tor Lillqvist, Hans Breuer, Deji Akingunola, Bradley Broom, Hans Petter Jansson, Jan Heller, dmacks netspace org, Sven Anders
 , Hubert Figui?re, Sam Hocevar, yahvuu at gmail.com, Nicolas Robidoux, Garry R. Osgood, Shlomi Fish, Jakub Steiner and Tonda Tavalec</param> <param name='font'>Sans</param> <param name='size'>8</param> <param name='color'>rgb(0.0000, 0.0000, 0.0000)</param> <param name='wrap'>628</param> <param name='alignment'>0</param> <param name='width'>622</param> <param name='height'>40</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>300</param> <param name='y'>500</param> </params> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>0</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <gegl:path d='M0,50 C0,78 24,100 50,100 C77,100 100,78 100,50 C100,45 99,40 98,35 C82,35 66,35 50,35 C42,35 35,42 35,
 50 C35,58 42,65 50,65 C56,65 61,61 64,56 C67,51 75,55 73,60 C69,69 60,75 50,75 C36,75 25,64 25,50 C25,36 36,25 50,25 L93,25 C83,9 67,0 49,0 C25,0 0,20 0,50 z' fill='white'/> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>88</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:path'> <params> <param name='d'>M50,0 C23,0 0,22 0,50 C0,77 22,100 50,100 C68,100 85,90 93,75 L40,75 C35,75 35,65 40,65 L98,65 C100,55 100,45 98,35 L40,35 C35,35 35,25 40,25 L93,25 C84,10 68,0 50,0 z</param> <param name='fill'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:over'> <node operation='gegl:shift'> <params> <param name='x'>176</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <pa
 rams> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:path'> <params> <param name='d'>M0,50 C0,78 24,100 50,100 C77,100 100,78 100,50 C100,45 99,40 98,35 C82,35 66,35 50,35 C42,35 35,42 35,50 C35,58 42,65 50,65 C56,65 61,61 64,56 C67,51 75,55 73,60 C69,69 60,75 50,75 C36,75 25,64 25,50 C25,36 36,25 50,25 L93,25 C83,9 67,0 49,0 C25,0 0,20 0,50 z</param> <param name='fill'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:shift'> <params> <param name='x'>264</param> <param name='y'>0</param> </params> </node> <node operation='gegl:dropshadow'> <params> <param name='opacity'>1.2</param> <param name='x'>0</param> <param name='y'>0</param> <param name='radius'>8</param> </params> </node> <node operation='gegl:path'> <params> <param name='d'>M30,4 C12,13 0,30 0,50 C0,78 23,100 50,100 C71,100 88,88 96,71 L56,71 C42,71 30,59 30,45 L30,4 z</pa
 ram> <param name='fill'>rgb(1.0000, 1.0000, 1.0000)</param> </params> </node> </node> <node operation='gegl:rotate'> <params> <param name='origin-x'>0</param> <param name='origin-y'>0</param> <param name='filter'>linear</param> <param name='hard-edges'>false</param> <param name='lanczos-width'>3</param> <param name='degrees'>42</param> </params> </node> <node operation='gegl:checkerboard'> <params> <param name='x'>43</param> <param name='y'>44</param> <param name='x-offset'>0</param> <param name='y-offset'>0</param> <param name='color1'>rgb(0.7097, 0.7097, 0.7097)</param> <param name='color2'>rgb(0.7661, 0.7661, 0.7661)</param> </params> </node> </gegl>"
 
 static void
 gegl_enable_fatal_warnings (void)

Modified: trunk/examples/gegl-paint.c
==============================================================================
--- trunk/examples/gegl-paint.c	(original)
+++ trunk/examples/gegl-paint.c	Mon Nov 24 00:55:13 2008
@@ -49,10 +49,11 @@
       vector     = gegl_path_new ();
 
       over       = gegl_node_new_child (gegl, "operation", "gegl:over", NULL);
-      stroke     = gegl_node_new_child (gegl, "operation", "gegl:stroke",
-                                        "path", vector,
-                                        "color", gegl_color_new (COLOR),
-                                        "linewidth", LINEWIDTH,
+      stroke     = gegl_node_new_child (gegl, "operation", "gegl:path",
+                                        "d", vector,
+                                        "stroke", gegl_color_new (COLOR),
+                                        "fill", gegl_color_new ("none"),
+                                        "stroke-width", LINEWIDTH,
                                         "hardness", HARDNESS,
                                         NULL);
       gegl_node_link_many (top, over, out, NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]