X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fruby%2Fgfx.c;h=32274493956da4be60572e411eedb8d3cca049b1;hb=bd6e5cd809f4fa605f8505fa06712981b3443537;hp=9e2284e042e7f7858eff6f5ffe1da391c8cf0408;hpb=863eb7e871aaf0e3fd84512ad760956a3e6a632d;p=swftools.git diff --git a/lib/ruby/gfx.c b/lib/ruby/gfx.c index 9e2284e..3227449 100644 --- a/lib/ruby/gfx.c +++ b/lib/ruby/gfx.c @@ -234,7 +234,7 @@ static VALUE image_has_alpha(VALUE cls) gfxcolor_t*data = image->image->data; int t; for(t=0;ta!=255) + if(data[t].a!=255) return Qtrue; } return Qfalse; @@ -437,6 +437,7 @@ static ID id_radial = 0; static ID id_linear = 0; static ID id_remove_font_transforms = 0; static ID id_maketransparent = 0; +static ID id_vectors_to_glyphs = 0; static VALUE noop(int argc, VALUE *argv, VALUE obj) {return obj;} @@ -707,6 +708,8 @@ static VALUE doc_render(VALUE cls, VALUE device, VALUE _range, VALUE filters) else x = RARRAY(filters)->ptr[t++]; if(id == id_remove_font_transforms) { wrap_filter2(dev, remove_font_transforms); + } else if(id == id_vectors_to_glyphs) { + wrap_filter2(dev, vectors_to_glyphs); } else if(id == id_maketransparent) { PARAM(alpha); wrap_filter(dev, maketransparent, FIX2INT(alpha)); @@ -767,7 +770,7 @@ void Init_gfx() imagedriver = gfxsource_image_create(); GFX = rb_define_module("GFX"); - rb_define_const(GFX, "VERSION", FIX2INT(20100309)); + rb_define_const(GFX, "VERSION", INT2FIX(20100309)); rb_define_module_function(GFX, "setparameter", gfx_setparameter, 2); @@ -856,5 +859,6 @@ void Init_gfx() id_linear = rb_intern("linear"); id_remove_font_transforms = rb_intern("remove_font_transforms"); id_maketransparent = rb_intern("maketransparent"); + id_vectors_to_glyphs = rb_intern("vectors_to_glyphs"); }