Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by cairo_fill() and according to the current fill rule (see cairo_set_fill_rule()).

cairo_clip_preserve(cr)

Arguments

cr

[cairo_t *] a cairo context

Details

Unlike cairo_clip(), cairo_clip_preserve() preserves the path within the cairo context.

The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling cairo_clip_preserve() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling cairo_clip_preserve() within a cairo_save()/cairo_restore() pair. The only other means of increasing the size of the clip region is cairo_reset_clip().

Since: 1.0

C function prototype: void cairo_clip_preserve (cairo_t *cr)

See also

Other cairo--: cairo_append_path(), cairo_arc_negative(), cairo_arc(), cairo_clip_extents(), cairo_clip(), cairo_close_path(), cairo_copy_page(), cairo_copy_path_flat(), cairo_copy_path(), cairo_create(), cairo_curve_to(), cairo_device_to_user_distance(), cairo_device_to_user(), cairo_fill_extents(), cairo_fill_preserve(), cairo_fill(), cairo_font_extents(), cairo_get_antialias(), cairo_get_current_point(), cairo_get_dash_count(), cairo_get_dash(), cairo_get_fill_rule(), cairo_get_font_face(), cairo_get_font_matrix(), cairo_get_group_target(), cairo_get_line_cap(), cairo_get_line_join(), cairo_get_line_width(), cairo_get_matrix(), cairo_get_miter_limit(), cairo_get_operator(), cairo_get_source(), cairo_get_target(), cairo_get_tolerance(), cairo_has_current_point(), cairo_identity_matrix(), cairo_in_clip(), cairo_in_fill(), cairo_in_stroke(), cairo_line_to(), cairo_mask_surface(), cairo_mask(), cairo_move_to(), cairo_new_path(), cairo_new_sub_path(), cairo_paint_with_alpha(), cairo_paint(), cairo_path_extents(), cairo_pop_group_to_source(), cairo_pop_group(), cairo_push_group_with_content(), cairo_push_group(), cairo_rectangle(), cairo_rel_curve_to(), cairo_rel_line_to(), cairo_rel_move_to(), cairo_reset_clip(), cairo_restore(), cairo_rotate(), cairo_save(), cairo_scale(), cairo_select_font_face(), cairo_set_antialias(), cairo_set_dash(), cairo_set_fill_rule(), cairo_set_font_face(), cairo_set_font_matrix(), cairo_set_font_size(), cairo_set_line_cap(), cairo_set_line_join(), cairo_set_line_width(), cairo_set_matrix(), cairo_set_miter_limit(), cairo_set_operator(), cairo_set_source_rgba(), cairo_set_source_rgb(), cairo_set_source_surface(), cairo_set_source(), cairo_set_tolerance(), cairo_show_page(), cairo_show_text(), cairo_status(), cairo_stroke_extents(), cairo_stroke_preserve(), cairo_stroke(), cairo_tag_begin(), cairo_tag_end(), cairo_text_extents(), cairo_text_path(), cairo_transform(), cairo_translate(), cairo_user_to_device_distance(), cairo_user_to_device()