Fixed creating wxGraphicContext from native DC with Cairo renderer (MSW).

When x- or y-coordinate of DC origin > 0 then surface created with cairo_win32_surface_create() is not fully operational (for some Cairo operations memory access violation errors occur - see Cairo bug 96482) so in this case we would need to apply a workaround and pass non-transformed DC to Cairo and next apply original DC transformation to the Cairo context operations on our own.

Closes #17564
This commit is contained in:
Artur Wieczorek
2016-06-11 22:35:33 +02:00
parent a735371b0e
commit f06bfe37ae
2 changed files with 114 additions and 26 deletions

View File

@@ -238,6 +238,8 @@
(), () , NULL ) \
m( cairo_surface_t*, cairo_surface_create_similar_image, \
(cairo_surface_t *other, cairo_format_t format, int width, int height), (other, format, width, height), NULL) \
m( cairo_status_t, cairo_surface_status, \
(cairo_surface_t *surface), (surface), CAIRO_STATUS_SUCCESS) \
wxCAIRO_PLATFORM_METHODS(m)
#define wxCAIRO_DECLARE_TYPE(rettype, name, args, argnames, defret) \