cairo_surface_t * display_get_pointer_surface(struct display *display, int pointer, int *width, int *height, int *hotspot_x, int *hotspot_y) { cairo_surface_t *surface; surface = display->pointer_surfaces[pointer]; #if HAVE_CAIRO_EGL *width = cairo_gl_surface_get_width(surface); *height = cairo_gl_surface_get_height(surface); #else *width = cairo_image_surface_get_width(surface); *height = cairo_image_surface_get_height(surface); #endif *hotspot_x = pointer_images[pointer].hotspot_x; *hotspot_y = pointer_images[pointer].hotspot_y; return cairo_surface_reference(surface); }
static cairo_test_status_t test_cairo_gl_surface_get_height (cairo_surface_t *surface) { unsigned int height = cairo_gl_surface_get_height (surface); return height == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_GL) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR; }