On Thu, 27 Jun 2019 00:57:48 +0900, Eli Zaretskii wrote: > > > > Maybe it's just me, but I'm uneasy to bypass librsvg and call Cairo > > > directly for manipulating SVG images. Why doesn't librsvg provide a > > > way to do this via its own APIs? > > > > > > Does anyone else think it's unusual to make such direct calls to what > > > is essentially a lower-level library? > > > > What kind of operations do you think librsvg should provide us with, > > instead of letting us use cairo? > > Those for which you called the Cairo functions directly. Which one, concretely? Or you mean something in other parts? + cairo_surface_t *surface; +#ifdef USE_CAIRO + surface = cairo_image_surface_create_for_data ((unsigned char *) ximg->data, + CAIRO_FORMAT_RGB24, + width, height, + ximg->bytes_per_line); +#else + surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height); +#endif + if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS) + goto rsvg_error; + cairo_t *cr = cairo_create (surface); + cairo_set_source_rgb (cr, background.red / 65535.0, + background.green / 65535.0, + background.blue / 65535.0); + cairo_paint (cr); + cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); + rsvg_handle_render_cairo (rsvg_handle, cr); + cairo_destroy (cr); + g_object_unref (rsvg_handle); > I tried with the second patch. I tried now again with the above one: > still no rectangle. Seems like a problem in DLL loading. Please try the attached one. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp