|
Packit |
324a5c |
#!/bin/sh
|
|
Packit |
324a5c |
set -e
|
|
Packit |
324a5c |
|
|
Packit |
324a5c |
if [ $# -lt 1 ]; then
|
|
Packit |
324a5c |
argv0=`basename $0`
|
|
Packit |
324a5c |
echo "$argv0: Update source code to the lastest Cairo API" >&2
|
|
Packit |
324a5c |
echo "" >&2
|
|
Packit |
324a5c |
echo "Usage: $argv0 file [...]" >&2
|
|
Packit |
324a5c |
exit 1
|
|
Packit |
324a5c |
fi
|
|
Packit |
324a5c |
|
|
Packit |
324a5c |
cairo_api_update() {
|
|
Packit |
324a5c |
file=$1
|
|
Packit |
324a5c |
backup=$file.bak
|
|
Packit |
324a5c |
|
|
Packit |
324a5c |
cp $file $backup
|
|
Packit |
324a5c |
sed -e '/\(DEPRECATED\|REPLACED\)_BY/! {
|
|
Packit |
324a5c |
s/cairo_current_font_extents/cairo_font_extents/g
|
|
Packit |
324a5c |
s/cairo_get_font_extents/cairo_font_extents/g
|
|
Packit |
324a5c |
s/cairo_current_operator/cairo_get_operator/g
|
|
Packit |
324a5c |
s/cairo_current_tolerance/cairo_get_tolerance/g
|
|
Packit |
324a5c |
s/cairo_current_point/cairo_get_current_point/g
|
|
Packit |
324a5c |
s/cairo_current_fill_rule/cairo_get_fill_rule/g
|
|
Packit |
324a5c |
s/cairo_current_line_width/cairo_get_line_width/g
|
|
Packit |
324a5c |
s/cairo_current_line_cap/cairo_get_line_cap/g
|
|
Packit |
324a5c |
s/cairo_current_line_join/cairo_get_line_join/g
|
|
Packit |
324a5c |
s/cairo_current_miter_limit/cairo_get_miter_limit/g
|
|
Packit |
324a5c |
s/cairo_current_matrix/cairo_get_matrix/g
|
|
Packit |
324a5c |
s/cairo_current_pattern/cairo_get_source/g
|
|
Packit |
324a5c |
s/cairo_current_target_surface/cairo_get_target/g
|
|
Packit |
324a5c |
s/cairo_get_status/cairo_status/g
|
|
Packit |
324a5c |
s/cairo_get_status_string/cairo_status_string/g
|
|
Packit |
324a5c |
s/cairo_concat_matrix/cairo_transform/g
|
|
Packit |
324a5c |
s/cairo_scale_font/cairo_set_font_size/g
|
|
Packit |
324a5c |
s/cairo_select_font\([^_]\)/cairo_select_font_face\1/g
|
|
Packit |
324a5c |
s/cairo_transform_font/cairo_set_font_matrix/g
|
|
Packit |
324a5c |
s/cairo_transform_point/cairo_user_to_device/g
|
|
Packit |
324a5c |
s/cairo_transform_distance/cairo_user_to_device_distance/g
|
|
Packit |
324a5c |
s/cairo_inverse_transform_point/cairo_device_to_user/g
|
|
Packit |
324a5c |
s/cairo_inverse_transform_distance/cairo_device_to_user_distance/g
|
|
Packit |
324a5c |
s/cairo_init_clip/cairo_reset_clip/g
|
|
Packit |
324a5c |
s/cairo_surface_create_for_image/cairo_image_surface_create_for_data/g
|
|
Packit |
324a5c |
s/cairo_default_matrix/cairo_identity_matrix/g
|
|
Packit |
324a5c |
s/cairo_matrix_set_affine/cairo_matrix_init/g
|
|
Packit |
324a5c |
s/cairo_matrix_set_identity/cairo_matrix_init_identity/g
|
|
Packit |
324a5c |
s/\([^_]\)cairo_pattern_add_color_stop\([^_]\)/\1cairo_pattern_add_color_stop_rgba\2/g
|
|
Packit |
324a5c |
s/cairo_set_rgb_color/cairo_set_source_rgb/g
|
|
Packit |
324a5c |
s/cairo_set_pattern/cairo_set_source/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_SRC/CAIRO_OPERATOR_SOURCE/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_DST/CAIRO_OPERATOR_DEST/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_OVER_REVERSE/CAIRO_OPERATOR_DEST_OVER/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_IN_REVERSE/CAIRO_OPERATOR_DEST_IN/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_OUT_REVERSE/CAIRO_OPERATOR_DEST_OUT/g
|
|
Packit |
324a5c |
s/CAIRO_OPERATOR_ATOP_REVERSE/CAIRO_OPERATOR_DEST_ATOP/g
|
|
Packit |
324a5c |
}
|
|
Packit |
324a5c |
' $backup > $file
|
|
Packit |
324a5c |
|
|
Packit |
324a5c |
grep -n 'cairo_create[ ]*([ ]*)' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*/\1 cairo_create must now accept a target surface/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_target_image' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*/\1 cairo_set_target_image should be reworked to use cairo_image_surface_create_for_data, likely before cairo_create/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_target_surface' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*/\1 cairo_set_target_surface for temporarily changing the target should now be rworked to create a temporary context with cairo_create/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_target_png' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*/\1 cairo_set_target_png should be reworked to use cairo_image_surface_create followed by cairo_surface_write_to_png/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_target_drawable' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*/\1 cairo_set_target_drawable should be reworked to use cairo_xlib_surface_create, likely before cairo_create/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_target_[^dis][^n]' $file /dev/null | sed 's/^\(.*:[0-9]\+:\).*cairo_set_target_\([a-z]*\).*/\1 cairo_set_target_\2 should be reworked to use cairo_\2_surface_create, likely before cairo_create/'
|
|
Packit |
324a5c |
grep -n 'cairo_set_alpha' $file /dev/null | sed 's/\(.*:[0-9]\+:\).*/\1 cairo_set_alpha should be replaced by turning a nearby cairo_set_source_rgb into cairo_set_source_rgba or turning a nearby cairo_paint into cairo_paint_with_alpha/'
|
|
Packit |
324a5c |
}
|
|
Packit |
324a5c |
|
|
Packit |
324a5c |
while [ $# -gt 0 ]; do
|
|
Packit |
324a5c |
file=$1
|
|
Packit |
324a5c |
shift
|
|
Packit |
324a5c |
cairo_api_update $file
|
|
Packit |
324a5c |
done
|
|
Packit |
324a5c |
|