diff options
Diffstat (limited to 'dev-ruby/ruby-poppler/files/ruby-poppler-0.16.0-poppler-0.7.patch')
-rw-r--r-- | dev-ruby/ruby-poppler/files/ruby-poppler-0.16.0-poppler-0.7.patch | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/dev-ruby/ruby-poppler/files/ruby-poppler-0.16.0-poppler-0.7.patch b/dev-ruby/ruby-poppler/files/ruby-poppler-0.16.0-poppler-0.7.patch new file mode 100644 index 000000000000..d78a8e4d6f7c --- /dev/null +++ b/dev-ruby/ruby-poppler/files/ruby-poppler-0.16.0-poppler-0.7.patch @@ -0,0 +1,251 @@ +Index: ruby-gnome2-0.16.0/poppler/ChangeLog +=================================================================== +--- ruby-gnome2-0.16.0.orig/poppler/ChangeLog 2008-05-29 17:13:17.000000000 +0200 ++++ ruby-gnome2-0.16.0/poppler/ChangeLog 2008-05-29 17:13:46.000000000 +0200 +@@ -1,3 +1,8 @@ ++2008-03-20 Kouhei Sutou <kou@cozmixng.org> ++ ++ * src/rbpoppler.[ch], src/rbpoppler-page.c: just buildable with ++ poppler-glib 0.7.3. ++ + 2007-11-11 Kouhei Sutou <kou@cozmixng.org> + + * README: updated supported poppler-glib version: 0.5.2 - 0.6.2. +Index: ruby-gnome2-0.16.0/poppler/src/rbpoppler-page.c +=================================================================== +--- ruby-gnome2-0.16.0.orig/poppler/src/rbpoppler-page.c 2008-05-29 17:13:16.000000000 +0200 ++++ ruby-gnome2-0.16.0/poppler/src/rbpoppler-page.c 2008-05-29 17:13:25.000000000 +0200 +@@ -39,6 +39,33 @@ + VALUE cUnknownField, cTextField, cButtonField, cChoiceField, cSignatureField; + #endif + ++#ifdef POPPLER_TYPE_COLOR ++extern VALUE mGdk; ++VALUE rb_cPopplerColor; ++ ++PopplerColor * ++rb_poppler_ruby_object_to_color(VALUE color) ++{ ++ static VALUE rb_cGdkColor = Qnil; ++ ++ if (NIL_P(rb_cGdkColor)) { ++ rb_cGdkColor = rb_const_get(mGdk, rb_intern("Color")); ++ } ++ ++ if (RTEST(rb_obj_is_kind_of(color, rb_cGdkColor))) { ++ GdkColor *gdk_color; ++ gdk_color = RVAL2GDKCOLOR(color); ++ color = rb_funcall(rb_cPopplerColor, rb_intern("new"), ++ 3, ++ UINT2NUM(gdk_color->red), ++ UINT2NUM(gdk_color->green), ++ UINT2NUM(gdk_color->blue)); ++ } ++ ++ return RVAL2BOXED(color, POPPLER_TYPE_COLOR); ++} ++#endif ++ + static VALUE + page_render_to_pixbuf(VALUE self, VALUE src_x, VALUE src_y, VALUE src_width, + VALUE src_height, VALUE scale, VALUE rotation, +@@ -293,8 +320,8 @@ + #ifdef HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF + RVAL2SELSTYLE(style), + #endif +- RVAL2COLOR(glyph_color), +- RVAL2COLOR(background_color)); ++ RVAL2GDKCOLOR(glyph_color), ++ RVAL2GDKCOLOR(background_color)); + return Qnil; + } + +@@ -415,6 +442,55 @@ + } + + ++#ifdef POPPLER_TYPE_COLOR ++/* A color in RGB */ ++static VALUE ++color_initialize(VALUE self, VALUE red, VALUE green, VALUE blue) ++{ ++ PopplerColor color; ++ ++ color.red = NUM2UINT(red); ++ color.green = NUM2UINT(green); ++ color.blue = NUM2UINT(blue); ++ ++ G_INITIALIZE(self, &color); ++ return Qnil; ++} ++ ++DEF_ACCESSOR(color, red, RVAL2COLOR, UINT2NUM, NUM2UINT) ++DEF_ACCESSOR(color, green, RVAL2COLOR, UINT2NUM, NUM2UINT) ++DEF_ACCESSOR(color, blue, RVAL2COLOR, UINT2NUM, NUM2UINT) ++ ++static VALUE ++color_to_a(VALUE self) ++{ ++ PopplerColor *color; ++ color = RVAL2COLOR(self); ++ return rb_ary_new3(3, ++ UINT2NUM(color->red), ++ UINT2NUM(color->green), ++ UINT2NUM(color->blue)); ++} ++ ++static VALUE ++color_inspect(VALUE self) ++{ ++ VALUE inspected; ++ gchar *rgb; ++ PopplerColor *color; ++ ++ color = RVAL2COLOR(self); ++ inspected = rb_call_super(0, NULL); ++ rb_str_resize(inspected, RSTRING_LEN(inspected) - 1); ++ rgb = g_strdup_printf(": [%u, %u, %u]>", ++ color->red, color->green, color->blue); ++ rb_str_cat2(inspected, rgb); ++ g_free(rgb); ++ return inspected; ++} ++#endif ++ ++ + /* Mapping between areas on the current page and PopplerActions */ + #define RECT_ENTITY2RVAL(rect) RECT2RVAL(&(rect)) + #define RECT_ENTITY_SET(rect, rb_rect) rectangle_set(&(rect), rb_rect) +@@ -443,7 +519,11 @@ + /* Mapping between areas on the current page and images */ + DEF_ACCESSOR_WITH_SETTER(image_mapping, area, + RVAL2IM, RECT_ENTITY2RVAL, RECT_ENTITY_SET) ++#ifdef HAVE_ST_IMAGE_ID ++DEF_ACCESSOR(image_mapping, image_id, RVAL2IM, INT2NUM, NUM2INT) ++#else + DEF_ACCESSOR(image_mapping, image, RVAL2IM, GOBJ2RVAL, RVAL2GDK_PIXBUF) ++#endif + + + /* Mapping between areas on the current page and form fields */ +@@ -668,6 +748,9 @@ + + cPage = G_DEF_CLASS(POPPLER_TYPE_PAGE, "Page", mPoppler); + cRectangle = G_DEF_CLASS(POPPLER_TYPE_RECTANGLE, "Rectangle", mPoppler); ++#ifdef POPPLER_TYPE_COLOR ++ rb_cPopplerColor = G_DEF_CLASS(POPPLER_TYPE_COLOR, "Color", mPoppler); ++#endif + cLinkMapping = G_DEF_CLASS(POPPLER_TYPE_LINK_MAPPING, "LinkMapping", + mPoppler); + #if POPPLER_CHECK_VERSION(0, 6, 0) +@@ -729,6 +812,21 @@ + + G_DEF_SETTERS(cRectangle); + ++#ifdef POPPLER_TYPE_COLOR ++/* A color in RGB */ ++ rb_define_method(rb_cPopplerColor, "initialize", color_initialize, 3); ++ rb_define_method(rb_cPopplerColor, "red", color_get_red, 0); ++ rb_define_method(rb_cPopplerColor, "green", color_get_green, 0); ++ rb_define_method(rb_cPopplerColor, "blue", color_get_blue, 0); ++ rb_define_method(rb_cPopplerColor, "set_red", color_set_red, 1); ++ rb_define_method(rb_cPopplerColor, "set_green", color_set_green, 1); ++ rb_define_method(rb_cPopplerColor, "set_blue", color_set_blue, 1); ++ rb_define_method(rb_cPopplerColor, "to_a", color_to_a, 0); ++ rb_define_method(rb_cPopplerColor, "inspect", color_inspect, 0); ++ ++ G_DEF_SETTERS(rb_cPopplerColor); ++#endif ++ + /* Mapping between areas on the current page and PopplerActions */ + rb_define_method(cLinkMapping, "area", link_mapping_get_area, 0); + rb_define_method(cLinkMapping, "action", link_mapping_get_action, 0); +@@ -766,10 +864,19 @@ + + /* Mapping between areas on the current page and images */ + rb_define_method(cImageMapping, "area", image_mapping_get_area, 0); ++#ifdef HAVE_ST_IMAGE_ID ++ rb_define_method(cImageMapping, "image_id", image_mapping_get_image_id, 0); ++#else + rb_define_method(cImageMapping, "image", image_mapping_get_image, 0); ++#endif + + rb_define_method(cImageMapping, "set_area", image_mapping_set_area, 1); ++#ifdef HAVE_ST_IMAGE_ID ++ rb_define_method(cImageMapping, "set_image_id", ++ image_mapping_set_image_id, 1); ++#else + rb_define_method(cImageMapping, "set_image", image_mapping_set_image, 1); ++#endif + + G_DEF_SETTERS(cImageMapping); + +Index: ruby-gnome2-0.16.0/poppler/src/rbpoppler.c +=================================================================== +--- ruby-gnome2-0.16.0.orig/poppler/src/rbpoppler.c 2008-05-29 17:13:16.000000000 +0200 ++++ ruby-gnome2-0.16.0/poppler/src/rbpoppler.c 2008-05-29 17:13:25.000000000 +0200 +@@ -50,6 +50,7 @@ + + G_DEF_CLASS(POPPLER_TYPE_ERROR, "Error", mPoppler); + G_DEF_CLASS(POPPLER_TYPE_ORIENTATION, "Orientation", mPoppler); ++ + #if POPPLER_CHECK_VERSION(0, 6, 0) + G_DEF_CLASS(POPPLER_TYPE_PAGE_TRANSITION_TYPE, + "PageTransitionType", mPoppler); +@@ -61,8 +62,24 @@ + G_DEF_CLASS(POPPLER_TYPE_FORM_BUTTON_TYPE, "FormButtonType", mPoppler); + G_DEF_CLASS(POPPLER_TYPE_FORM_TEXT_TYPE, "FormTextType", mPoppler); + G_DEF_CLASS(POPPLER_TYPE_FORM_CHOICE_TYPE, "FormChoiceType", mPoppler); ++#endif + ++#if POPPLER_CHECK_VERSION(0, 7, 2) ++ G_RENAME_NICK("3D", "TYPE_3D"); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_TYPE, "AnnotationType", mPoppler); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_FLAG, "AnnotationFlag", mPoppler); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_MARKUP_REPLY_TYPE, ++ "AnnotationMarkupReplyType", mPoppler); ++ G_RENAME_NICK("3D", "TYPE_3D"); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_EXTERNAL_DATA_TYPE, ++ "AnnotationExternalDataType", mPoppler); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_TEXT_ICON, "AnnotationTextIcon", mPoppler); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_TEXT_STATE, "AnnotationTextState", mPoppler); ++ G_DEF_CLASS(POPPLER_TYPE_ANNOT_FREE_TEXT_QUADDING, ++ "AnnotationFreeTextQuadding", mPoppler); + #endif ++ ++ + G_DEF_CLASS(POPPLER_TYPE_BACKEND, "Backend", mPoppler); + + rb_define_module_function(mPoppler, "backend", get_backend, 0); +Index: ruby-gnome2-0.16.0/poppler/src/rbpoppler.h +=================================================================== +--- ruby-gnome2-0.16.0.orig/poppler/src/rbpoppler.h 2008-05-29 17:13:16.000000000 +0200 ++++ ruby-gnome2-0.16.0/poppler/src/rbpoppler.h 2008-05-29 17:13:25.000000000 +0200 +@@ -46,7 +46,14 @@ + #define RVAL2ACTIONTYPE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_ACTION_TYPE)) + #define SELSTYLE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_SELECTION_STYLE)) + #define RVAL2SELSTYLE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_SELECTION_STYLE)) +-#define RVAL2COLOR(obj) ((GdkColor *)RVAL2BOXED(obj, GDK_TYPE_COLOR)) ++#define RVAL2GDKCOLOR(obj) ((GdkColor *)RVAL2BOXED(obj, GDK_TYPE_COLOR)) ++ ++#ifdef POPPLER_TYPE_COLOR ++extern PopplerColor *rb_poppler_ruby_object_to_color(VALUE color); ++# define RVAL2COLOR(obj) (rb_poppler_ruby_object_to_color(obj)) ++#else ++# define RVAL2COLOR(obj) (RVAL2GDKCOLOR(obj)) ++#endif + + #define ACTION2RVAL(obj) (rb_poppler_ruby_object_from_action(obj)) + #define RVAL2ACTION(obj) (rb_poppler_action_from_ruby_object(obj)) +Index: ruby-gnome2-0.16.0/poppler/extconf.rb +=================================================================== +--- ruby-gnome2-0.16.0.orig/poppler/extconf.rb 2008-05-29 17:13:17.000000000 +0200 ++++ ruby-gnome2-0.16.0/poppler/extconf.rb 2008-05-29 17:13:25.000000000 +0200 +@@ -31,6 +31,7 @@ + + make_version_header("POPPLER", PACKAGE_ID) + have_func("poppler_page_render_selection_to_pixbuf") ++have_struct_member("PopplerImageMapping", "image_id", ["poppler.h"]) + + create_makefile_at_srcdir(PACKAGE_NAME, SRCDIR, "-DRUBY_POPPLER_COMPILATION") + create_top_makefile |