static cairo_bool_t recording_pattern_contains_sample (const cairo_pattern_t *pattern, const cairo_rectangle_int_t *sample) { cairo_recording_surface_t *surface; if (! is_recording_pattern (pattern)) return FALSE; if (pattern->extend == CAIRO_EXTEND_NONE) return TRUE; surface = (cairo_recording_surface_t *) unwrap_surface (pattern); if (surface->unbounded) return TRUE; if (sample->x >= surface->extents.x && sample->y >= surface->extents.y && sample->x + sample->width <= surface->extents.x + surface->extents.width && sample->y + sample->height <= surface->extents.y + surface->extents.height) { return TRUE; } return FALSE; }
static cairo_bool_t recording_pattern_contains_sample (const cairo_pattern_t *pattern, const cairo_rectangle_int_t *sample) { cairo_recording_surface_t *surface; if (! is_recording_pattern (pattern)) return FALSE; if (pattern->extend == CAIRO_EXTEND_NONE) return TRUE; surface = (cairo_recording_surface_t *) unwrap_source (pattern); if (surface->unbounded) return TRUE; return _cairo_rectangle_contains_rectangle (&surface->extents, sample); }