#include <libexif/exif-data.h>
-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));
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));
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);
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));
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));