seed r395 - trunk/modules/canvas



Author: racarr
Date: Sat Dec  6 02:37:22 2008
New Revision: 395
URL: http://svn.gnome.org/viewvc/seed?rev=395&view=rev

Log:
Add Canvas.bezierCurveTo


Added:
   trunk/modules/canvas/test8.js   (contents, props changed)
Modified:
   trunk/modules/canvas/Makefile.am
   trunk/modules/canvas/seed-canvas.c

Modified: trunk/modules/canvas/Makefile.am
==============================================================================
--- trunk/modules/canvas/Makefile.am	(original)
+++ trunk/modules/canvas/Makefile.am	Sat Dec  6 02:37:22 2008
@@ -7,7 +7,7 @@
 libsqlite_la_LDFLAGS = \
 	`pkg-config --libs seed cairo`
 
-EXTRA_DIST=test1.js test2.js test3.js test4.js test5.js test6.js test7.js
+EXTRA_DIST=test1.js test2.js test3.js test4.js test5.js test6.js test7.js test8.js
 
 AM_CPPFLAGS = \
 	-I../../libseed/ \

Modified: trunk/modules/canvas/seed-canvas.c
==============================================================================
--- trunk/modules/canvas/seed-canvas.c	(original)
+++ trunk/modules/canvas/seed-canvas.c	Sat Dec  6 02:37:22 2008
@@ -459,6 +459,28 @@
 	return seed_make_null(ctx);	
 }
 
+SeedValue seed_canvas_bezier (SeedContext ctx,
+								 SeedObject function,
+								 SeedObject this_object,
+								 size_t argument_count,
+								 const SeedValue arguments[],
+								 SeedException * exception)
+{
+	GET_CR;
+	gdouble cp0x, cp0y, cp1x, cp1y, cp2x, cp2y;
+	
+	cp0x = seed_value_to_double(ctx, arguments[0], exception);
+	cp0y = seed_value_to_double(ctx, arguments[1], exception);
+	cp1x = seed_value_to_double(ctx, arguments[2], exception);
+	cp1y = seed_value_to_double(ctx, arguments[3], exception);
+	cp2x = seed_value_to_double(ctx, arguments[4], exception);
+	cp2y = seed_value_to_double(ctx, arguments[5], exception);
+	
+	cairo_curve_to(cr, cp0x, cp0y, cp1x, cp1y, cp2x, cp2y);
+
+	return seed_make_null(ctx);
+}
+
 static void canvas_finalize(SeedObject object)
 {
 	cairo_destroy((cairo_t *)seed_object_get_private(object));
@@ -484,6 +506,7 @@
 	{"clip", seed_canvas_clip, 0},
 	{"arc", seed_canvas_arc, 0},
 	{"quadraticCurveTo", seed_canvas_quadratic, 0},
+	{"bezierCurveTo", seed_canvas_bezier, 0},
 	{0, 0, 0}
 };
 

Added: trunk/modules/canvas/test8.js
==============================================================================
--- (empty file)
+++ trunk/modules/canvas/test8.js	Sat Dec  6 02:37:22 2008
@@ -0,0 +1,37 @@
+#!/usr/local/bin/seed
+Seed.import_namespace("Gdk");
+Seed.import_namespace("Gtk");
+Seed.import_namespace("Canvas");
+
+
+Gtk.init(null, null);
+
+w = new Gtk.Window();
+d = new Gtk.DrawingArea();
+w.add(d);
+
+w.resize(150, 200);
+
+w.show_all();
+
+d.signal.expose_event.connect(function(){
+		var cr = Gdk.cairo_create(d.window);
+		var ctx = new Canvas.CairoCanvas(cr);
+
+		ctx.beginPath();
+		ctx.moveTo(75,40);
+		ctx.bezierCurveTo(75,37,70,25,50,25);
+		ctx.bezierCurveTo(20,25,20,62.5,20,62.5);
+		ctx.bezierCurveTo(20,80,40,102,75,120);
+		ctx.bezierCurveTo(110,102,130,80,130,62.5);
+		ctx.bezierCurveTo(130,62.5,130,25,100,25);
+		ctx.bezierCurveTo(85,25,75,37,75,40);
+		ctx.fill();
+		
+		return true;
+});
+Gtk.main();
+
+
+
+



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