From: gc Date: Sun, 22 Jul 2007 12:06:55 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: 0.9.0~190 X-Git-Url: http://git.zarb.org/?p=booh;a=commitdiff_plain;h=45ef5c3bfa4379206bd70517c5988592828c3682 *** empty log message *** --- diff --git a/ext/rbbooh.c b/ext/rbbooh.c index 3a92f99..8b1ea5d 100644 --- a/ext/rbbooh.c +++ b/ext/rbbooh.c @@ -30,10 +30,7 @@ #include -static VALUE -whitebalance(self, level) - VALUE self, level; -{ +static VALUE whitebalance(VALUE self, VALUE level) { double red_filter[256], blue_filter[256]; int i, x, y; guchar* pixels = gdk_pixbuf_get_pixels(_SELF(self)); @@ -60,10 +57,7 @@ whitebalance(self, level) return self; } -static VALUE -gammacorrect(self, level) - VALUE self, level; -{ +static VALUE gammacorrect(VALUE self, VALUE level) { double filter[256]; int i, x, y; guchar* pixels = gdk_pixbuf_get_pixels(_SELF(self)); @@ -149,6 +143,7 @@ static VALUE exif_datetimeoriginal(VALUE module, VALUE filename) { return Qnil; } +// internalize drawing "video" borders, it is too slow in ruby (0.12 secs on my p4 2.8 GHz) static VALUE draw_borders(VALUE self, VALUE pixbuf, VALUE x1, VALUE x2, VALUE ystart, VALUE yend) { GdkDrawable* drawable = GDK_DRAWABLE(RVAL2GOBJ(self)); int y = NUM2INT(ystart); @@ -164,6 +159,8 @@ static VALUE draw_borders(VALUE self, VALUE pixbuf, VALUE x1, VALUE x2, VALUE ys return self; } +// internalize memory leak fix for GdkPixbuf.rotate +// (bugged as of rg2 0.16.0) static VALUE rotate_noleak(VALUE self, VALUE angle) { VALUE ret; GdkPixbuf* dest = gdk_pixbuf_rotate_simple(_SELF(self), RVAL2GENUM(angle, GDK_TYPE_PIXBUF_ROTATION)); @@ -174,6 +171,8 @@ static VALUE rotate_noleak(VALUE self, VALUE angle) { return ret; } +// internalize allowing to pass Qnil to RVAL2BOXED to have NULL passed to Gtk +// (bugged as of rg2 0.16.0) static VALUE modify_bg(VALUE self, VALUE state, VALUE color) { gtk_widget_modify_bg(GTK_WIDGET(RVAL2GOBJ(self)), RVAL2GENUM(state, GTK_TYPE_STATE_TYPE), NIL_P(color) ? NULL : (GdkColor*) RVAL2BOXED(color, GDK_TYPE_COLOR));