diff options
Diffstat (limited to 'src/cairo-directfb-surface.c')
-rw-r--r-- | src/cairo-directfb-surface.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/cairo-directfb-surface.c b/src/cairo-directfb-surface.c index fd187bd8..494ec079 100644 --- a/src/cairo-directfb-surface.c +++ b/src/cairo-directfb-surface.c @@ -40,7 +40,7 @@ #include "cairo-compositor-private.h" #include "cairo-default-context-private.h" #include "cairo-error-private.h" -#include "cairo-image-surface-private.h" +#include "cairo-image-surface-inline.h" #include "cairo-pattern-private.h" #include "cairo-surface-backend-private.h" #include "cairo-surface-fallback-private.h" @@ -171,7 +171,7 @@ _cairo_dfb_surface_finish (void *abstract_surface) return _cairo_image_surface_finish (abstract_surface); } -static cairo_surface_t * +static cairo_image_surface_t * _cairo_dfb_surface_map_to_image (void *abstract_surface, const cairo_rectangle_int_t *extents) { @@ -184,7 +184,7 @@ _cairo_dfb_surface_map_to_image (void *abstract_surface, int pitch; if (buffer->Lock (buffer, DSLF_READ | DSLF_WRITE, &data, &pitch)) - return _cairo_surface_create_in_error(_cairo_error (CAIRO_STATUS_NO_MEMORY)); + return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY)); image = pixman_image_create_bits (surface->image.pixman_format, surface->image.width, @@ -192,19 +192,20 @@ _cairo_dfb_surface_map_to_image (void *abstract_surface, data, pitch); if (image == NULL) { buffer->Unlock (buffer); - return _cairo_surface_create_in_error(_cairo_error (CAIRO_STATUS_NO_MEMORY)); + return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY)); } _cairo_image_surface_init (&surface->image, image, surface->image.pixman_format); } - return _cairo_image_surface_map_to_image (&surface->image, extents); + return _cairo_surface_map_to_image (&surface->image.base, extents); } static cairo_int_status_t _cairo_dfb_surface_unmap_image (void *abstract_surface, cairo_image_surface_t *image) { - return CAIRO_INT_STATUS_SUCCESS; + cairo_dfb_surface_t *surface = abstract_surface; + return _cairo_surface_unmap_image (&surface->image.base, image); } static cairo_status_t |