Creates a copy of the current path and returns it to the user as a #cairo_path_t. See #cairo_path_data_t for hints on how to iterate over the returned data structure.

cairo_copy_path(cr)

Arguments

cr

[cairo_t *] a cairo context

Value

[cairo_path_t *]

Details

This function will always return a valid pointer, but the result will have no data (<literal>data==%NULL</literal> and <literal>num_data==0</literal>), if either of the following conditions hold:

<orderedlist> <listitem>If there is insufficient memory to copy the path. In this case <literal>path->status</literal> will be set to %CAIRO_STATUS_NO_MEMORY.</listitem> <listitem>If cr is already in an error state. In this case <literal>path->status</literal> will contain the same status that would be returned by cairo_status().</listitem> </orderedlist>

Return value: the copy of the current path. The caller owns the returned object and should call cairo_path_destroy() when finished with it.

Since: 1.0

C function prototype: cairo_path_t * cairo_copy_path (cairo_t *cr)

See also

Other cairo--: cairo_append_path(), cairo_arc_negative(), cairo_arc(), cairo_clip_extents(), cairo_clip_preserve(), cairo_clip(), cairo_close_path(), cairo_copy_page(), cairo_copy_path_flat(), 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()