gegl r2376 - in trunk/bindings/rgegl: . samples src src/lib



Author: ok
Date: Tue Jun  3 21:42:34 2008
New Revision: 2376
URL: http://svn.gnome.org/viewvc/gegl?rev=2376&view=rev

Log:
* samples/view-test.rb: s/FractalExplorer/fractal-explorer/
* samples/xml-parsing.rb: s/FractalExplorer/fractal-explorer/
* src/lib/gegl-view.rb: s/FractalExplorer/fractal-explorer/
* src/rgegl-node.c: moved gegl_init()
* src/rgegl.c: (Init_gegl): here, since some of the initialization
code in some of the classes seems to depend on gegl_config() working.


Modified:
   trunk/bindings/rgegl/ChangeLog
   trunk/bindings/rgegl/samples/view-test.rb
   trunk/bindings/rgegl/samples/xml-parsing.rb
   trunk/bindings/rgegl/src/lib/gegl-view.rb
   trunk/bindings/rgegl/src/rgegl-node.c
   trunk/bindings/rgegl/src/rgegl.c

Modified: trunk/bindings/rgegl/samples/view-test.rb
==============================================================================
--- trunk/bindings/rgegl/samples/view-test.rb	(original)
+++ trunk/bindings/rgegl/samples/view-test.rb	Tue Jun  3 21:42:34 2008
@@ -13,7 +13,7 @@
      <shift x='20' y='170' name='shift'/>
      <text string='rgegl' size='120' color='rgb(0.5,0.5,1.0)'/>
    </over>
-   <FractalExplorer xmin='0.2' ymin='0' xmax='0.5' ymax='0.45'
+   <fractal-explorer xmin='0.2' ymin='0' xmax='0.5' ymax='0.45'
                     width='400' height='400'/>
 </gegl>", "")
 

Modified: trunk/bindings/rgegl/samples/xml-parsing.rb
==============================================================================
--- trunk/bindings/rgegl/samples/xml-parsing.rb	(original)
+++ trunk/bindings/rgegl/samples/xml-parsing.rb	Tue Jun  3 21:42:34 2008
@@ -8,22 +8,24 @@
 
 gegl=Gegl.parse_xml(
 "<gegl>
-   <crop x='0' y='145' width='400' height='200'/>
+   <crop x='0' y='145' width='320' height='240'/>
    <over>
      <gaussian-blur std_dev_y='0' name='blur'/>
      <shift x='20' y='170' name='shift'/>
      <text string='rgegl' size='120' color='rgb(0.5,0.5,1.0)'/>
    </over>
-   <FractalExplorer xmin='0.2' ymin='0' xmax='0.5' ymax='0.45'
-                    width='400' height='400'/>
+   <fractal-explorer xmin='0.2' ymin='0' xmax='0.5' ymax='0.45'
+                    width='320' height='400'/>
 </gegl>", "")
 
 display = gegl.new_child :display
 gegl >> display
 
-frames=10
+frames=50
 frames.times do |frame|
-  gegl.lookup("blur").std_dev_x = (frames-frame)*3.0  # animate the composition
-  gegl.lookup("shift").y       = 20*frame            #
+  t = 1.0*frame/frames
+  puts t
+#  gegl.lookup("blur").std_dev_x = t * 20.0
+  gegl.lookup("shift").y       =  t * 200
   display.process
 end

Modified: trunk/bindings/rgegl/src/lib/gegl-view.rb
==============================================================================
--- trunk/bindings/rgegl/src/lib/gegl-view.rb	(original)
+++ trunk/bindings/rgegl/src/lib/gegl-view.rb	Tue Jun  3 21:42:34 2008
@@ -20,16 +20,17 @@
           signal_connect("expose-event") { |view, event|
               if @node!=nil
                   event.region.rectangles.each { |rect|
-                     roi = Gegl::Rectangle.new(view.x + rect.x/view.scale,
-                                              view.y + rect.y/view.scale,
-                                              rect.width, rect.height)
+                     roi = Gegl::Rectangle.new(view.x / view.scale + rect.x,
+                                               view.y / view.scale + rect.y,
+                                              rect.width,
+                                              rect.height)
                      buf = view.node.render(roi, view.scale, "R'G'B' u8", 3)
 
                      Gdk::RGB.draw_rgb_image(view.window,
                                              view.style.black_gc,
                                              rect.x, rect.y,
                                              rect.width, rect.height,
-                                             0, buf, rect.width*3)
+                                             0, buf, roi.width*3)
                   }
               end
               repaint
@@ -44,7 +45,7 @@
           self.processor.rectangle=roi
 
           if @handler==nil
-              @handler=GLib::Idle.add(200){ #refresh view twice a second
+              @handler=GLib::Idle.add(100){ #refresh view twice a second
                  more=self.processor.work # returns true if there is more work
                  @handler=nil if !more
                  more
@@ -83,12 +84,12 @@
           @node=new_node
 
           @node.signal_connect("computed") {|node, rectangle|
-              rectangle.x = self.scale * (rectangle.x - self.x)
-              rectangle.y = self.scale * (rectangle.y - self.y)
-              rectangle.width = (rectangle.width * self.scale).ceil
-              rectangle.height = (rectangle.height * self.scale).ceil
 
-              self.queue_draw_area(rectangle.x, rectangle.y, rectangle.width, rectangle.height) 
+              self.queue_draw_area(
+                  self.scale * (rectangle.x - self.x),
+                  self.scale * (rectangle.y - self.y),
+                  (rectangle.width * self.scale).ceil,
+                  (rectangle.height * self.scale).ceil)
           }
           @node.signal_connect("invalidated") {|node, event|
               repaint

Modified: trunk/bindings/rgegl/src/rgegl-node.c
==============================================================================
--- trunk/bindings/rgegl/src/rgegl-node.c	(original)
+++ trunk/bindings/rgegl/src/rgegl-node.c	Tue Jun  3 21:42:34 2008
@@ -415,12 +415,14 @@
 c_gegl_init (self)
   VALUE self;
 {
+  /*
   static gboolean inited=FALSE;
   if (!inited)
     {
       gegl_init (NULL, NULL);
       inited = TRUE;
     }
+  */
   return Qnil;
 }
 

Modified: trunk/bindings/rgegl/src/rgegl.c
==============================================================================
--- trunk/bindings/rgegl/src/rgegl.c	(original)
+++ trunk/bindings/rgegl/src/rgegl.c	Tue Jun  3 21:42:34 2008
@@ -24,6 +24,13 @@
 {
     VALUE mGegl = rb_define_module("Gegl");
 
+    static gboolean inited=FALSE;
+    if (!inited)
+      {
+        gegl_init (NULL, NULL);
+        inited = TRUE;
+      }
+
     Init_gegl_color(mGegl);
     Init_gegl_node(mGegl);
     Init_gegl_processor(mGegl);



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